summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorguanglei <guanglei>2006-11-17 09:48:28 +0000
committerguanglei <guanglei>2006-11-17 09:48:28 +0000
commit2566011f0b812d7b4e7cbcf8b28c1e8c05de5d94 (patch)
tree017bb0cea0cb04df8b4e405f9bd3650c9123dacd
parent29a3881a2f7fc48e8079e6e99dba4de42076e27a (diff)
downloadsystemtap-steved-2566011f0b812d7b4e7cbcf8b28c1e8c05de5d94.tar.gz
systemtap-steved-2566011f0b812d7b4e7cbcf8b28c1e8c05de5d94.tar.xz
systemtap-steved-2566011f0b812d7b4e7cbcf8b28c1e8c05de5d94.zip
add addevent.process.exit.entry
-rw-r--r--tapset/LKET/Changelog7
-rwxr-xr-xtapset/LKET/hookid_defs.stp4
-rwxr-xr-xtapset/LKET/nfsd.stp4
-rwxr-xr-xtapset/LKET/process.stp23
-rwxr-xr-xtapset/LKET/register_event.stp2
5 files changed, 38 insertions, 2 deletions
diff --git a/tapset/LKET/Changelog b/tapset/LKET/Changelog
index df255e63..a3baabdf 100644
--- a/tapset/LKET/Changelog
+++ b/tapset/LKET/Changelog
@@ -1,3 +1,10 @@
+2006-11-17 Li Guanglei <guanglei@cn.ibm.com>
+
+ From Eugene Teo <eteo@redhat.com>
+
+ * process.stp, register_event.stp, hookid_defs.stp: add
+ trace hooks for addevent.process.exit.entry
+
2006-11-15 Li Guanglei <guanglei@cn.ibm.com>
* aio.stp, iosyscall.stp, pagefault.stp, process.stp:
diff --git a/tapset/LKET/hookid_defs.stp b/tapset/LKET/hookid_defs.stp
index 07c43ea7..e4ee0407 100755
--- a/tapset/LKET/hookid_defs.stp
+++ b/tapset/LKET/hookid_defs.stp
@@ -12,7 +12,7 @@ global
/* process creation */
GROUP_PROCESS,
HOOKID_PROCESS_SNAPSHOT, HOOKID_PROCESS_FORK,
- HOOKID_PROCESS_EXECVE,
+ HOOKID_PROCESS_EXECVE, HOOKID_PROCESS_EXIT_ENTRY,
stoptrace_exec, stoptrace_fork,
/* io scheduler */
@@ -383,6 +383,7 @@ int _HOOKID_SYSCALL_RETURN = 2;
int _HOOKID_PROCESS_SNAPSHOT = 1;
int _HOOKID_PROCESS_EXECVE = 3;
int _HOOKID_PROCESS_FORK = 5;
+int _HOOKID_PROCESS_EXIT_ENTRY = 7;
int _HOOKID_IOSCHED_ADD_REQ = 1;
int _HOOKID_IOSCHED_NEXT_REQ_ENTRY = 3;
@@ -650,6 +651,7 @@ HOOKID_SYSCALL_RETURN = 2;
HOOKID_PROCESS_SNAPSHOT = 1;
HOOKID_PROCESS_EXECVE = 3;
HOOKID_PROCESS_FORK = 5;
+HOOKID_PROCESS_EXIT_ENTRY= 7;
HOOKID_IOSCHED_ADD_REQ = 1;
HOOKID_IOSCHED_NEXT_REQ_ENTRY = 3;
diff --git a/tapset/LKET/nfsd.stp b/tapset/LKET/nfsd.stp
index 0880287c..b07063a3 100755
--- a/tapset/LKET/nfsd.stp
+++ b/tapset/LKET/nfsd.stp
@@ -14,11 +14,13 @@
}
}
%}
+
probe never
{
- printf("%d",GROUP_NFSD)
+ printf("%d\n", GROUP_PROCESS)
}
+
probe addevent.nfsd
= addevent.nfsd.entry,
addevent.nfsd.return
diff --git a/tapset/LKET/process.stp b/tapset/LKET/process.stp
index 32a0f995..12eca381 100755
--- a/tapset/LKET/process.stp
+++ b/tapset/LKET/process.stp
@@ -59,6 +59,27 @@ function process_snapshot()
}
%}
+probe addevent.process = addevent.process.exit {}
+probe addevent.process.exit = addevent.process.exit.entry {}
+
+probe addevent.process.exit.entry
+ += _addevent.process.exit.entry
+{
+ update_record()
+}
+
+probe _addevent.process.exit.entry
+ = process.exit
+{
+ log_process_exit(code)
+}
+
+function log_process_exit(code:long)
+%{
+ _lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_EXIT_ENTRY,
+ "%8b", THIS->code);
+%}
+
probe lket_internal.process { }
probe lket_internal.process
@@ -95,3 +116,5 @@ probe _lket_internal.process.fork
if(stoptrace_fork==1) next;
log_fork_tracedata($return)
}
+
+
diff --git a/tapset/LKET/register_event.stp b/tapset/LKET/register_event.stp
index 456ebadc..4bc3fcd4 100755
--- a/tapset/LKET/register_event.stp
+++ b/tapset/LKET/register_event.stp
@@ -167,6 +167,8 @@ function register_sys_events()
"INT32:STRING", "pid:pname");
_register_sys_event("process.fork", _GROUP_PROCESS, _HOOKID_PROCESS_FORK,
"INT32:INT32:INT32", "tid:pid:ppid");
+ _register_sys_event("process.exit.entry", _GROUP_PROCESS, _HOOKID_PROCESS_EXIT_ENTRY,
+ "INT64", "code");
_register_sys_event("ioscheduler.elv_next_request.entry",
_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_ENTRY,