/* Attention: If you choose to run all the following probes, your system will become rather slow. the log_user_data() in each event probe is only a demo of the existance of this function. The data logged by it is rather meaningless. */ probe begin { log("begin") /* to take a snapshot of all the processes */ process_snapshot() } /* to trace system calls entry, hookID = 1 */ probe addevent.syscall.entry { log_user_data("Prototype for syscall entry, Ver: 0.1") } /* to trace system calls exit, hookID = 2 */ probe addevent.syscall.return { log_user_data("Prototype for syscall return, Ver: 0.1") } /* to trace process creation, include "fork" and "execve", hookID: 3 for execve and 4 for fork */ probe addevent.process { log_user_data("Prototype for process creation, Ver: 0.1") } /* to trace io scheduler activities, hookID 5: a request is retrieved from request queue hookID 6: a request is added to the request queue hookID 7: a request is removed from the request queue */ probe addevent.ioscheduler { log_user_data("Prototype for io scheduler, Ver: 0.1") } /* to trace tasks dispatching. hookID: 8 for context switch and 9 when cpu is idle */ probe addevent.tskdispatch { log_user_data("Prototype for tskdispatch, Ver: 0.1") } /* to trace backtrace, hookID=10: for cpuidle hookID=11: when an io request is dispatched to scsi layer, failed on PPC64, refer to backtrace.stp */ probe addevent.backtrace { log_user_data("Prototype for backtrace, Ver: 0.1") } /* to trace scsi activities, failed to run on PPC64, refer to scsi.stp hookID = 13: mid-layer prepare a IO request hookID = 14: Dispatch a command to the low-level driver hookID = 15: I/O is done by low-level driver hookID = 16: mid-layer processes the completed IO */ probe addevent.scsi { log_user_data("Prototype for scsi, Ver: 0.1") } probe end { log("end") }