diff options
-rw-r--r-- | tapset/LKET/Changelog | 7 | ||||
-rwxr-xr-x | tapset/LKET/hookid_defs.stp | 4 | ||||
-rwxr-xr-x | tapset/LKET/nfsd.stp | 4 | ||||
-rwxr-xr-x | tapset/LKET/process.stp | 23 | ||||
-rwxr-xr-x | tapset/LKET/register_event.stp | 2 |
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, |