diff options
Diffstat (limited to 'tapset')
-rw-r--r-- | tapset/LKET/Changelog | 8 | ||||
-rwxr-xr-x | tapset/LKET/lket_trace.stp | 2 | ||||
-rwxr-xr-x | tapset/LKET/process.stp | 16 | ||||
-rwxr-xr-x | tapset/LKET/register_event.stp | 6 |
4 files changed, 23 insertions, 9 deletions
diff --git a/tapset/LKET/Changelog b/tapset/LKET/Changelog index c31e072f..b26b0d22 100644 --- a/tapset/LKET/Changelog +++ b/tapset/LKET/Changelog @@ -1,3 +1,11 @@ +2006-07-11 Li Guanglei <guanglei@cn.ibm.com> + + * process.stp, register_event.stp: changes to + addevent.process to generate adequate info + of process relationships + * lket_trace.stp: use current->parent->tgid as the + parent process id for ascii tracing + 2006-06-29 Li Guanglei <guanglei@cn.ibm.com> * lket_trace.stp: diff --git a/tapset/LKET/lket_trace.stp b/tapset/LKET/lket_trace.stp index 4336377c..59a08ec0 100755 --- a/tapset/LKET/lket_trace.stp +++ b/tapset/LKET/lket_trace.stp @@ -111,7 +111,7 @@ void fmt_change(char *oldfmt, char *newfmt, int newfmt_start) fmt_change(fmt, new_sysfmt, NEW_SYSFMT_START); \ _stp_printf(new_sysfmt, \ (_FMT_)GroupID, (_FMT_)hookID, (_FMT_)tv.tv_sec, (_FMT_)tv.tv_usec,\ - (_FMT_)current->tgid, (_FMT_)current->parent->pid,\ + (_FMT_)current->tgid, (_FMT_)current->parent->tgid,\ (_FMT_)current->pid, (_FMT_)current->thread_info->cpu, args);\ } while(0) diff --git a/tapset/LKET/process.stp b/tapset/LKET/process.stp index f09e97ba..b9dbb4dc 100755 --- a/tapset/LKET/process.stp +++ b/tapset/LKET/process.stp @@ -9,15 +9,21 @@ function log_execve_tracedata(var_id:long, var:long) %{ long tmp=(long)THIS->var; - _lket_trace(_GROUP_PROCESS, THIS->var_id, "%0s", (char *)tmp); + _lket_trace(_GROUP_PROCESS, THIS->var_id, "%4b%0s", + current->tgid, (char *)tmp); %} /* record the newly forked process id */ -function log_fork_tracedata(var_id:long, var:long) +function log_fork_tracedata(var_id:long, task:long) %{ + /* pid_t pid = (pid_t)THIS->var; _lket_trace(_GROUP_PROCESS, THIS->var_id, "%4b", (_FMT_)pid); + */ + struct task_struct *task = (struct task_struct *)THIS->task; + _lket_trace(_GROUP_PROCESS, THIS->var_id, "%4b%4b%4b", (_FMT_)task->pid, + (_FMT_)task->tgid, (_FMT_)task->parent->tgid); %} @@ -38,8 +44,8 @@ function process_snapshot() name for each entry */ list_for_each(cur, head) { tsk = (struct task_struct *)(list_entry(cur, struct task_struct, tasks)); - _lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_SNAPSHOT, "%4b%0s", - (_FMT_)tsk->pid, tsk->comm); + _lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_SNAPSHOT, "%4b%4b%4b%0s", + (_FMT_)tsk->pid, (_FMT_)tsk->tgid, (_FMT_)tsk->parent->tgid, tsk->comm); #if !defined(ASCII_TRACE) total_length = &_stp_pbuf[cpu][STP_PRINT_BUF_START]; *(int16_t *)total_length = _stp_pbuf_len[cpu] - 4; @@ -81,6 +87,6 @@ probe _addevent.process.fork = process.create { if(filter_by_pid() == 1 ) { - log_fork_tracedata(HOOKID_PROCESS_FORK, new_pid) + log_fork_tracedata(HOOKID_PROCESS_FORK, $return) } } diff --git a/tapset/LKET/register_event.stp b/tapset/LKET/register_event.stp index 38598603..1a41bd1d 100755 --- a/tapset/LKET/register_event.stp +++ b/tapset/LKET/register_event.stp @@ -125,11 +125,11 @@ function register_sys_events() register_sys_event(GROUP_SYSCALL, HOOKID_SYSCALL_RETURN, "STRING", "syscall") register_sys_event(GROUP_PROCESS, HOOKID_PROCESS_SNAPSHOT, - "INT32:STRING", "pid:pname") + "INT32:INT32:INT32:STRING", "tid:pid:ppid:pname") register_sys_event(GROUP_PROCESS, HOOKID_PROCESS_EXECVE, - "STRING", "pname") + "INT32:STRING", "pid:pname") register_sys_event(GROUP_PROCESS, HOOKID_PROCESS_FORK, - "INT32", "pid") + "INT32:INT32:INT32", "tid:pid:ppid") register_sys_event(GROUP_IOSCHED, HOOKID_IOSCHED_NEXT_REQ, "STRING:INT8:INT8:INT64:INT64", "elv_name:major:minor:request:req_flags") |