summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
Diffstat (limited to 'tapset')
-rw-r--r--tapset/LKET/Changelog8
-rwxr-xr-xtapset/LKET/lket_trace.stp2
-rwxr-xr-xtapset/LKET/process.stp16
-rwxr-xr-xtapset/LKET/register_event.stp6
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")