diff options
author | srikar <srikar> | 2007-08-27 05:15:29 +0000 |
---|---|---|
committer | srikar <srikar> | 2007-08-27 05:15:29 +0000 |
commit | 382eb718d1d19404c586c9bbd5000ac8e9b65242 (patch) | |
tree | 1613cdb541be49fb7223eafb2121f4db3377f7f5 | |
parent | 1005eac7597c710c284aec041a92ea5e1e58f197 (diff) | |
download | systemtap-steved-382eb718d1d19404c586c9bbd5000ac8e9b65242.tar.gz systemtap-steved-382eb718d1d19404c586c9bbd5000ac8e9b65242.tar.xz systemtap-steved-382eb718d1d19404c586c9bbd5000ac8e9b65242.zip |
Removing LKET files.
-rw-r--r-- | lket-b2a.1.in | 270 | ||||
-rw-r--r-- | lket.5.in | 1457 | ||||
-rwxr-xr-x | testsuite/buildok/lket.stp | 3 | ||||
-rw-r--r-- | testsuite/systemtap.samples/lket.exp | 49 | ||||
-rw-r--r-- | testsuite/systemtap.samples/lket.stp | 3 |
5 files changed, 0 insertions, 1782 deletions
diff --git a/lket-b2a.1.in b/lket-b2a.1.in deleted file mode 100644 index 0d8a71b1..00000000 --- a/lket-b2a.1.in +++ /dev/null @@ -1,270 +0,0 @@ -.\" -*- nroff -*- -.TH LKET\-B2A 1 @DATE@ "IBM" -.SH NAME -lket\-b2a \- Converting and dumping utility for LKET binary trace data - -.\" macros -.de SAMPLE -.br -.RS -.nf -.nh -.. -.de ESAMPLE -.hy -.fi -.RE -.. - -.SH SYNOPSIS - -.br -.B lket\-b2a -.I OPTIONS -.IR IN_FILENAME ... -.br - -.SH DESCRIPTION - -The trace data generated by -.I LKET -is in binary format by default for -better performance and smaller size. -.I lket\-b2a -is used to convert the -binary trace data into readable data in ascii format and save -them into local file or MySQL database for off-line trace analysis. -It uses the per-cpu binary trace data files (stpd_cpu*) as inputs. -You can use "stap \-bM" with LKET to get those per-cpu files before using it. - -The database used by -.I lket\-b2a -is MySQL. So MySQL must be properly installed -and configured in order to make -.I lket\-b2a -able to dump the trace data into MySQL database. - -.SH OPTIONS -.I lket\-b2a -supports the following two options. They can be used -together or alone but at least one of them should be specified: - -.TP -.B \-m -convert and dump trace data into MySQL database. For more details, -See the following section. -.TP -.B \-f -convert and dump trace data into local file. For more details, -See the following section. -.TP -.B \-n -name_flag. name_flag set to 0 means not printing the event -description string and 1 means printing. Only valid with \-f -option. name_flag is set to 1 by default. -.TP -.B \-i -id_flag. id_flag set to 0 means not printing event groupid and -hookid and 1 means printing. Only valid with \-f option. id_flag -is set to 0 by default. -.TP -.B \-a -appname_flag. appname_flag set to 0 means not printing process -name and 1 means printing. Only valid with \-f option. appname_flag -is set to 1 by default. - -.SH DUMP TRACE DATA INTO LOCAL FILE - -The generated output file is named -.IR lket.out . -The following is an example: - -.SAMPLE -root:/home/root/data> lket\-b2a \-f stpd_cpu* -root:/home/root/data> cat lket.out -LKET Magic: 0xAEFCDB6B -InitHdrLen: 9 -Version Major: 1 -Version Minor: 1 -Big endian: YES -Timing method: do_gettimeofday() -Bits width: 64 -Initial CPU timebase: 1596405 (cycles per microsecond) -[...] -2.527880 CPU:0 PID:2450 APPNAME:gnome\-panel EVT_NAME:iosyscall.read.entry fd:3,buff_addr:\-1081126904,count:32, -2.527887 CPU:0 PID:2450 APPNAME:gnome\-panel EVT_NAME:iosyscall.read.return return:32, -2.534343 CPU:0 PID:1450 APPNAME:kjournald EVT_NAME:scsi.ioentry major:8,minor:0,sdev_state:2,request_addr:3806880208, -2.534359 CPU:0 PID:1450 APPNAME:kjournald EVT_NAME:scsi.iodispatching host:0,channel:0,lun:0,dev_id:0,dev_state:2,data_dir:1,reqbuf_addr:3248315840,reqbuf_len:8192,request_addr:3806880208, -[...] -.ESAMPLE - -.SH DUMP TRACE DATA INTO MYSQL DATABASE - -To avoid either reading the complete trace data into internal data -structures to process, or filter through the raw trace data again -and again to calculate the interesting metrics, -.I lket\-b2a -supports convert and save the binary trace data into MySQL database to -facilitate the query and calculation on the trace data. - -.I lket\-b2a -creates the database name based on current time. And -.I lket\-b2a -will not only save the trace data, but also some meta data into MySQL -database too, such as trace header, trace table description. - -The following is an example of navigating the trace data in MySQL database -created by -.IR lket\-b2a : - -Use -.I lket\-b2a -to convert and dump the binary trace data of -.I LKET -into MySQL database: - -.SAMPLE -root:/home/root/data> lket\-b2a \-m stpd_cpu* -.ESAMPLE - -list all databases in MySQL: - -.SAMPLE -mysql> show databases; -+------------------+ -| Database | -+------------------+ -| DB20061023161626 | -| mysql | -| test | -+------------------+ -3 rows in set (0.00 sec) -.ESAMPLE - -DB20061023161626 is the newly created database by "lket\-b2a \-m stpd_cpu*". We can list -all the tables contained in DB20061023161626: - -.SAMPLE -mysql> use DB20061023161626 -Database changed -mysql> show tables; -+----------------------------+ -| Tables_in_DB20061023161626 | -+----------------------------+ -| 2_1 | -| 2_2 | -| 3_1 | -| 3_3 | -| 3_5 | -| 4_1 | -| 4_3 | -| 4_4 | -| 8_1 | -| 8_3 | -| appNameMap | -| table_desc | -| trace_header | -+----------------------------+ -13 rows in set (0.00 sec) -.ESAMPLE - -The table trace_header is used to store the trace header info: - -.SAMPLE -mysql> select * from trace_header; -+-----------+-----------+------------+-----------------+------------+ -| Major_Ver | Minor_Ver | Big_Endian | Timing_Method | Bits_Width | -+-----------+-----------+------------+-----------------+------------+ -| 1 | 1 | 2 | do_gettimeofday | 64 | -+-----------+-----------+------------+-----------------+------------+ -1 row in set (0.00 sec) -.ESAMPLE - -The table appNameMap is used to store the mapping between PID and process name: - -.SAMPLE -mysql> select * from appNameMap; -+-------+-----------------+ -| pid | pname | -+-------+-----------------+ -| 10764 | systemtap/0 | -| 10765 | systemtap/1 | -| 10766 | systemtap/2 | -| 10767 | systemtap/3 | -| 10768 | systemtap/4 | -| 10769 | systemtap/5 | -| 10770 | systemtap/6 | -| 10771 | systemtap/7 | -| 0 | swapper | -| 1 | init | -| 2 | migration/0 | -| 3 | ksoftirqd/0 | -| 4 | watchdog/0 | -| 5 | migration/1 | -[...] -.ESAMPLE - -Each event corresponds to one table which is named as groupid_hookid. For example -table 8_1 corresponds to -.I addevent.netdev.receive -whose groupid is 8 and hookid is 1: - -.SAMPLE -mysql> select * from table_desc; -+------------+----------------------------------+ -| table_name | table_desc | -+------------+----------------------------------+ -| 2_1 | addevent.syscall.entry | -| 2_2 | addevent.syscall.return | -| 3_1 | process_snapshot | -| 3_3 | addevent.process.execve | -| 3_5 | addevent.process.fork | -| 4_3 | addevent.ioscheduler.elv_next_re | -| 4_4 | addevent.ioscheduler.elv_next_re | -| 4_1 | addevent.ioscheduler.elv_add_req | -| 8_1 | addevent.netdev.receive | -| 8_3 | addevent.netdev.transmit | -+------------+----------------------------------+ -10 rows in set (0.00 sec) -.ESAMPLE - -The hookid of a return type event( -.I addevent.*.return -) should be an -even number and its value should be the corresponding entry event hookid +1. -For example, the hookid of addevent.syscall.return is 2 and the hookid of -addevent.syscall.entry is 1. And what's more, there will be a new column -named -.I entry_usec -for all return type event tables which is the timestamp -of the entry of that event. The column -.I entry_usec -is created and calculated by lket\-b2a on the fly while processing the binary trace data. - -.SAMPLE -mysql> select * from 2_1 limit 4; -+---------+--------+--------+------------+--------+--------------+ -| groupid | hookid | usec | process_id | cpu_id | syscall | -+---------+--------+--------+------------+--------+--------------+ -| 2 | 1 | 10727 | 20922 | 2 | read | -| 2 | 1 | 10746 | 20922 | 2 | read | -| 2 | 1 | 729066 | 3605 | 5 | gettimeofday | -| 2 | 1 | 729086 | 3605 | 5 | gettimeofday | -+---------+--------+--------+------------+--------+--------------+ -4 rows in set (0.00 sec) - -mysql> select * from 2_2 limit 4; -+---------+--------+--------+------------+--------+------------+--------------+ -| groupid | hookid | usec | process_id | cpu_id | entry_usec | syscall | -+---------+--------+--------+------------+--------+------------+--------------+ -| 2 | 2 | 10742 | 20922 | 2 | 10727 | read | -| 2 | 2 | 729072 | 3605 | 5 | 729066 | gettimeofday | -| 2 | 2 | 729089 | 3605 | 5 | 729086 | gettimeofday | -| 2 | 2 | 729100 | 3605 | 5 | 729096 | poll | -+---------+--------+--------+------------+--------+------------+--------------+ -4 rows in set (0.00 sec) -.ESAMPLE - -.SH SEE ALSO -.IR stap (1), -.IR lket (5) diff --git a/lket.5.in b/lket.5.in deleted file mode 100644 index a2f21839..00000000 --- a/lket.5.in +++ /dev/null @@ -1,1457 +0,0 @@ -.TH LKET 5 @DATE@ "IBM" -.SH NAME -LKET \- Linux Kernel Event Trace tool based on SystemTap - -.\" macros -.de SAMPLE -.br -.RS -.nf -.nh -.. -.de ESAMPLE -.hy -.fi -.RE -.. - -.SH DESCRIPTION - -The Linux Kernel Event Trace (LKET) tool is an extension to the tapsets -library available on SystemTap. Its goal is to utilize the dynamic probing -capabilities provided through SystemTap to create a set of standard hooks -that probe pre-defined places in the kernel. It can be used to collect -important information that can be used as a starting point to analyze -a performance problem in the system. - -The LKET tapsets are designed to only trace the events selected by the -user. Once the data has been collected, it is then post-processed -according to the need of the user. Trace data can be processed in -various different ways to generate simple to complex reports. - -.SH BINARY TRACING - -By default, LKET will log the trace data in binary format. - -To get a better performance for binary tracing, the "\-b" option should -be turned on for stap and thus \-M option has to be added to stop staprun -merging per-cpu files. - -You could use the command -.I lket\-b2a -to convert the binary trace data -generated by LKET into readable data in ascii format. - -.I lket\-b2a -uses the pre-cpu binary trace data files(stpd_cpu*) as inputs, and generates -an output file named -.IR lket.out . -or dump the trace data into MySQL database. -See -.IR lket\-b2a (1) -manual page for more detail. - -If you want LKET to log trace data in ASCII format directly, you should: -.SAMPLE -stap \-D ASCII_TRACE ... -.ESAMPLE - -.B *Notes* -that in order to make -.I LKET -able to work in binary tracing mode, all strings logged by -.I LKET -should be NULL-terminated, which means you have -to use "%0s" instead of "%s" for both user appended extra printing statements -and _lket_trace() which is called in -.I LKET -tapsets. - -.SH EVENT REGISTER - -LKET provides a way to log the metadata of the trace data by events registering. - -Two functions is provided: -.P -.IP -.SB void _register_sys_event (char *event_desc, int grpid, int hookid, char *fmt, char *field_name) -.IP -.SB register_user_event(grpid:long, hookid:long, fmt:string, names:string) -.P - -.I event_desc -is a string representation of the event, e.g: syscall.entry, scsi.iocompleted. - -.I grpid -and -.I hookid -is the groupid and hookid of the event to be registered. - -.I fmt -contains a set of fomat tokens seperated by ":". -The valid format tokens are: -.B UINT8, -.B UINT16, -.B UINT32, -.B UINT64 -and -.B STRING -which represents 8-bit, 16-bit, 32-bit, 64-bit binary data and NULL-terminated -respectively. - -.I names -contains a set of names seperated by ":". -The names contains in -.I names -should match the format tokens contains in -.I fmt - -.B _register_sys_event is a c function which is used to register the newly -added trace hooks in LKET tapsets. For example, supposing you -want to add a new event hook to trace the entry of sys_open, and you want -this event hook to log the fd, flag and mode paremeters for you. You should -add: - -.SAMPLE -_register_sys_event("iosyscall.open.entry", - _GROUP_IOSYSCALL, - _HOOKID_IOSYSCALL_OPEN_ENTRY, - "STRING:INT32:INT32", - "filename:flags:mode"); -.ESAMPLE - -into the function -.B register_sys_events -in LKET/register_event.stp - -.B register_user_event -is a SystemTap script function which is used for user to add extra trace data -for a event hook. See the section -.B CUSTOMIZED TRACE DATA -for more detail - -.SH CUSTOMIZED TRACE DATA - -LKET provides a set of event hooks that log the predefined -trace data for you, but LKET also make you able to log extra -trace data for a event. - -LKET provides a way to do this without modifying the tapset -of that event hook. You can simply use printf to trace -extra data. For example, supposing you want to trace sk_buff\->mac_len -and sk_buff\->priority besides the sk_buff\->len, sk_buff\->protocol and -sk_buff\->truesize for the -.B netdev -event hooks: - -.SAMPLE -probe register_event -{ - register_user_event(GROUP_NETDEV, HOOKID_NETDEV_TRANSMIT, - "INT32:INT32", "mac_len:priority") -} -probe addevent.netdev.transmit -{ - printf("%4b%4b", $skb\->mac_len, $skb\->priority) -} -.ESAMPLE - -.SH EXAMPLES - -Here are some examples of using LKET: - -.TP -Trace all events provided by LKET: -stap \-e "probe addevent.* {}" \-bM - -.TP -Trace all available events by skipping those unavaiabled on current system: -stap \-e "probe addevent.* ? {}" \-bM - -.TP -Trace all system calls: -stap \-e "probe addevent.syscall {}" \-bM -.TP -Trace the entry of all system calls: -stap \-e "probe addevent.syscall.entry {}" \-bM -.TP -Trace netdev transmition and log extra data of mac_len and priority: -stap \-e "probe addevent.netdev.transmit { printf(\\"%4b%4b\\", $skb\->mac_len, $skb\->priority) }" \-bM - -.P -You can press "Ctrl+c" to stop the tracing. Then you will find there are one or more per-cpu data files (stpd_cpu*) on current directory. You can use -.I lket\-b2a -to convert these binary trace data files into readable ascii format or dump them into database. See -.IR lket\-b2a (1) -man page for more detail. - -.SH EVENT HOOKS AND TRACE DATA FORMAT - -The following sections enumerate the variety of event hooks implemented -in LKET and their trace data format. The trace data generated by different -event hooks contain common data -as well as some data specific to that event hook. - -the INT8, INT16, INT32, INT64 and STRING appeared in trace data format -represents 8-bit, 16-bit, 32-bit, 64-bit binary data and NULL-terminated -string respectively. - -The data common(i.e. -.I common_data -in the following subsecions) to all event hooks is: -.RS - -.B timestamp(INT64),(tid<<32|pid)(INT64),(ppid<<32|groupID<<24|hookID<<16|cpu_id<<8)(INT64) -.RE - -Each event hook group is a collection of those hooks that have -similarities of what they could trace. And the ID of each event hook (HookID) -is defined in the context of its corresponding group. - -.SS EVENT REGISTER -Event register is not actually an event. It is used to log the -metadata of the trace data, including the extra trace data appended by user. -See -.B EVENT REGISTER -and -.B CUSTOMIZED TRACE DATA -for more details. - -.P -.TP -.B register_sys_event -This is a function used to register event hooks available in LKET. -It should be called from register_event.stp:register_sys_events(). - -.TP -.B register_user_event -This is a function used to log the metadata of the extra -trace data appended by user for a specific event. -It should be called in the probe -.I register_event - -.SS SYSTEM CALLS -You could use -.I addevent.syscall -to trace the entry and return of all system calls. -It contains two sub event hooks: -.P -.TP -.B addevent.syscall.entry -Trace entry of all system calls. - -Data format is: - -.I common_data, syscall_name(STRING) -.TP -.B addevent.syscall.return -Trace return of all system calls. - -Data format is: - -.I common_data, syscall_name(STRING) - -.SS PROCESS CREATION -This group contains three sub event hooks. All of them are turned on -by default. You can use the flags stoptrace_fork and stoptrace_exec to stop -tracing fork/execve in your script, e.g.: - -.SAMPLE -probe begin -{ - stoptrace_fork = 1 - stoptrace_exec = 1 -} -... -.ESAMPLE - -.P -.TP -.B process_snapshot() -This event hook isn't a probe definition but a function. It is called -by LKET silently to take a snapshot of all running processes. - -Data format is: - -.I common_data, tid(INT32), pid(INT32), ppid(INT32), process_name(STRING) - -.P -.TP -.B lket_internal.process.fork -Trace fork of processes - -Data format is: - -.I common_data, new_tid(INT32), new_pid(INT32), ppid(INT32) -.TP -.B lket_internal.process.execve -Trace execve of new processes - -Data format is: - -.I common_data, tid(INT32), pid(INT32), ppid(INT32), new_process_name(STRING) - -.SS SIGNAL -You could use -.I addevent.signal -to trace signal activities. It contains the following events: -.P -.TP -.B addevent.signal.send.entry -Trace when a signal is sent to a process - -Data format is: -.I common_data, sig(INT8), shared(INT8), send2queue(INT8), pid(INT32) -.TP -.B addevent.signal.send.return -Trace when returning from sending signal - -Data format is: -.I common_data, return(INT8) -.TP -.B addevent.signal.syskill.entry -Trace when sys_kill is called to send a signal to a process. - -Data format is: -.I common_data, pid(INT32), sig(INT8) -.TP -.B addevent.signal.syskill.return -Trace when return from sys_kill - -Data format is: -.I common_data, return(INT8) -.TP -.B addevent.signal.systgkill.entry -Trace when sys_tgkill is called to send a signal to one specific thread - -Data format is: -.I common_data, tid(INT32), pid(INT32), sig(INT8) -.TP -.B addevent.signal.systgkill.return -Trace when returning from sys_tgkill - -Data format is: -.I common_data, return(INT8) -.TP -.B addevent.signal.systkill.entry -Trace when sys_tkill is called to send a signal to a single process. - -Data format is: -.I common_data, pid(INT32), sig(INT8) -.TP -.B addevent.signal.systkill.return -Trace when returning from sys_tkill. - -Data format is: -.I common_data, return(INT8) -.TP -.B addevent.signal.pending.entry -Trace when examine the set of signals that are pending for delivery. - -Data format is: -.I common_data, sigset_addr(INT32), setsize(INT32) -.TP -.B addevent.signal.pending.return -Trace when returning from signal.pending - -Data format is: -.I common_data, return(INT8) -.TP -.B addevent.signal.do_action.entry -Trace when a thread is about to examine and change a signal action - -Data format is: -.I common_data, sig(INT8), handler(INT64) -.TP -.B addevent.signal.do_action.return -Trace when returning from signal.do_action - -Data format is: -.I common_data, return(INT8) -.TP -.B addevent.signal.procmask.entry -Trace when a thread is about to examine and change blocked signals - -Data format is: -.I common_data, how(INT8), sigset(INT64) -.TP -.B addevent.signal.procmask.return -Trace when returning from signal.procmask - -Data format is -.I common_data, return(INT8) -.TP -.B addevent.signal.flush.entry -Trace when flush all pending signals for a task - -Data format is: -.I common_data, pid(INT32) - -.SS IO SCHEDULER ACTIVITIES -You could use -.I addevent.ioscheduler -to trace the IO scheduler activities. It contains three sub event hooks: -.P -.TP -.B addevent.ioscheduler.elv_add_request -Trace when a request is added to the request queue - -Data format is: - -.I common_data, elevator_name(STRING), disk_major(INT8), disk_minor(INT8), -.I request_addr(INT64), request_flags(INT64) -.TP -.B addevent.ioscheduler.elv_next_request.entry -Trace when try to retrieve a request from request queue - -Data format is: - -.I common_data, elevator_name(STRING) - -.TP -.B addevent.ioscheduler.elv_next_request.return -Trace when return from retrieving a request from request queue - -Data format is: - -.I common_data, disk_major(INT8), disk_minor(INT8), -.I request_addr(INT64), request_flags(INT64) - -.TP -.B addevent.ioscheduler.elv_completed_request -Trace when a request is completed - -Data format is: - -.I common_data, elevator_name(STRING), disk_major(INT8), disk_minor(INT8), -.I request_addr(INT64), request_flags(INT64) - -.SS TASK SCHEDULE ACTIVITIES -You could use -.I addevent.tskdispatch -to trace the task scheduler activities. It contains two sub event hooks: -.P -.TP -.B addevent.tskdispatch.ctxswitch -Trace the process context switch - -Data format is: - -.I common_data, prev_pid(INT32), next_pid(INT32), prev_state(INT8) -.TP -.B addevent.tskdispatch.cpuidle -Trace when cpu goes idle - -Data format is: - -.I common_data, current_pid(INT32) - -.SS SCSI ACTIVITIES -You could use -.I addevent.scsi -to trace the scsi layer activities. It contains four sub event hooks: -.P -.TP -.B addevent.scsi.ioentry -mid-layer prepares a IO request - -Data format is: - -.I common_data, disk_major(INT8), disk_minor(INT8), device_state(INT8), request_addr(INT64) -.TP -.B addevent.scsi.iodispatching -Dispatch a command to the low-level driver - -Data format is: - -.I common_data, host(INT8), channel(INT8), lun(INT8), dev_id(INT8), -.I device_state(INT8), data_direction(INT8), reqbuf_addr(INT64), -.I reqbuf_len(INT32), request_addr(INT64) - -.TP -.B addevent.scsi.iodone -I/O is done by low-level driver - -Data format is: - -.I common_data, host(INT8), channel(INT8), lun(INT8), dev_id(INT8), -.I device_state(INT8), data_direction(INT8), request_addr(INT64) - -.TP -.B addevent.scsi.iocompleted -mid-layer processed the completed IO - -Data format is: - -.I common_data, host(INT8), channel(INT8), lun(INT8), dev_id(INT8), -.I device_state(INT8), data_direction(INT8), request_addr(INT64), -.I bytes_done(INT32) - -.SS PAGE FAULT -You could use -.I addevent.pagefault -to trace page fault events. It contains only one sub event hooks: -.P -.TP -.B addevent.pagefault - -Data format is: - -.I common_data, memory_address(INT64), write_access(INT8) - -.SS NETWORK DEVICE ACTIVITIES -You could use -.I addevent.netdev -to trace the network device activities. It contains two sub event hooks: -.P -.TP -.B addevent.netdev.receive -network device receives a packet - -Data format is: - -.I common_data, netdev_name(STRING), data_length(INT32), protocol(INT16), -.I buffer_length(INT32) - -.TP -.BR addevent.netdev.transmit -A packet will be sent out by network device - -Data format is: - -.I common_data, netdev_name(STRING), data_length(INT32), protocol(INT16), -.I buffer_length(INT32) - - -.SS IO SYSCALLS -You could use -.I addevent.iosyscall -to trace the detail activities of io related system calls. -It contains 16 entry hooks and 16 corresponding -return hooks. - -All the return hooks will only log the common_data and -the return value. So in the following subsections, only the entry -hooks will be listed: - -.P -.TP -.B addevent.iosyscall.open.entry -the entry of sys_open - -Data format is: - -.I common_data, filename(STRING), flags(INT32), mode(INT32) - -.TP -.B addevent.iosyscall.close.entry -the entry of sys_close - -Data format is: - -.I common_data, fd(INT64) - -.TP -.B addevent.iosyscall.read.entry -the entry of sys_read - -Data format is: - -.I common_data, fd(INT64), buf_addr(INT64), count(INT64) - -.TP -.B addevent.iosyscall.write.entry -the entry of sys_write - -Data format is: - -.I common_data, fd(INT64), buf_addr(INT64), count(INT64) - -.TP -.B addevent.iosyscall.readv.entry -the entry of sys_readv - -Data format is: - -.I common_data, fd(INT64), vector_addr(INT64), count(INT64) - -.TP -.B addevent.iosyscall.writev.entry -the entry of sys_writev - -Data format is: - -.I common_data, fd(INT64), vector_addr(INT64), count(INT64) - -.TP -.B addevent.iosyscall.pread64.entry -the entry of sys_pread64 - -Data format is: - -.I common_data, fd(INT64), buff_addr(INT64), count(INT64), offset(INT64) - -.TP -.B addevent.iosyscall.pwrite64.entry -the entry of sys_pwrite64 - -Data format is: - -.I common_data, fd(INT64), buff_addr(INT64), count(INT64), offset(INT64) - -.TP -.B addevent.iosyscall.readahead.entry -the entry of sys_readahead - -Data format is: - -.I common_data, fd(INT64), offset(INT64), count(INT64) - -.TP -.B addevent.iosyscall.senfile.entry -the entry of sys_sendfile and sys_sendfile64 - -Data format is: - -.I common_data, out_fd(INT64), in_fd(INT64), offset_uaddr(INT64), count(INT64) - -.TP -.B addevent.iosyscall.lseek.entry -the entry of sys_lseek - -Data format is: - -.I common_data, fd(INT64), offset(INT64), whence(INT8) - -.TP -.B addevent.iosyscall.llseek.entry -the entry of sys_llseek - -Data format is: - -.I common_data, fd(INT64), offset_high(INT64), offset_low(INT64), -.I result_addr(INT64), whence(INT8) - -.TP -.B addevent.iosyscall.sync.entry -the entry of sys_sync - -Data format is: - -.I common_data - -.TP -.B addevent.iosyscall.fsync.entry -the entry of sys_fsync - -Data format is: - -.I common_data, fd(INT64) - -.TP -.B addevent.iosyscall.fdatasync.entry -the entry of sys_fdatasync - -Data format is: - -.I common_data, fd(INT64) - -.TP -.B addevent.iosyscall.flock.entry -the entry of sys_flock - -Data format is: - -.I common_data, fd(INT64), operation(INT32) - -.SS Asynchronous IO -You could use -.I addevent.aio -to trace the detail activities of AIO related calls(most of them -are AIO system calls). -It contains 6 entry hooks and 6 corresponding return hooks. - -All the return hooks will only log the common_data and -the return value. So in the following subsections, only the entry -hooks will be listed: - -.P -.TP -.B addevent.aio.io_setup.entry -Fired by calling io_setup from user space. The corresponding -system call is sys_io_setup, which will create an aio_context -capable of receiving at least maxevents. - -Data format is: - -.I common_data, nr_events(INT32), ctxp_uaddr(INT64) - -.TP -.B addevent.aio.io_submit.entry -Fired by calling io_submit from user space. The corresponding -system call is sys_io_submit which will queue the nr iocbs -pointed to by iocbpp_uaddr for processing. - -Data format is: - -.I common_data, ctx_id(INT64), nr(INT32), iocbpp_uaddr(INT64) - -.TP -.B addevent.aio.io_submit_one.entry -Called by sys_io_submit. It will iterate iocbpp and process them -one by one - -Data format is: - -.I common_data, ctx(INT64), user_iocb_uaddr(INT64), aio_lio_opcode(INT16), -.I aio_reqprio(INT16), aio_fildes(INT32), aio_buf(INT64), aio_nbytes(INT64), -.I aio_offset(INT64) - -.TP -.B addevent.aio.io_getevents.entry -Fired by calling io_getevents from user space. The corresponding -system call is sys_io_getevents, which will attempt to -read at least min_nr events and up to nr events from the completion -queue for the aio_context specified by ctx_id. - -Data format is: - -.I common_data, ctx_id(INT64), min_nr(INT32), nr(INT32), events_uaddr(INT64), -.I tv_sec(INT32), tv_nsec(INT32) - -.TP -.B addevent.aio.io_destroy.entry -Fired by calling io_destroy from user space. The corresponding -system call is sys_io_destroy, which will destroy -the aio_context specified. - -Data format is: - -.I common_data, ctx(INT64) - -.TP -.B addevent.aio.io_cancel.entry -Fired by calling io_cancel from user space. The corresponding -system call is sys_io_cancel, which will attempt to cancel an -iocb previously passed to io_submit. - -Data format is: - -.I common_data, ctx_id(INT64), iocb_uaddr(INT64), result_uaddr(INT64) - -.SS SUNRPC -You could use -.I addevent.sunrpc -to trace the details of SUNRPC activities. It is now divided into three -groups: high-level client operation event hooks (addevent.sunrpc.clnt), -high-level server operation event hooks (addevent.sunrpc.svc) and RPC -scheduler operation event hooks (addevent.sunrpc.sched). -It contains 19 entry hooks and 19 corresponding return hooks. - -All the return hooks will only log the common_data and the return value. -So in the following subsections, only the entry hooks will be listed: - -.P -.TP -.B addevent.sunrpc.clnt.create_client.entry -Fires when an RPC client is to be created - -Data format is: - -.I common_data, servername(STRING), prog(INT64), vers(INT8), -.I prot(INT16), port(INT16), authflavor(INT8) - -.TP -.B addevent.sunrpc.clnt.clone_client.entry -Fires when the RPC client structure is to be cloned - -Data format is: - -.I common_data, servername(STRING), prog(INT64), vers(INT8), -.I prot(INT16), port(INT16), authflavor(INT8) - -.TP -.B addevent.sunrpc.clnt.shutdown_client.entry -Fires when an RPC client is to be shut down - -Data format is: - -.I common_data, servername(STRING), prog(INT64), clones(INT16), -.I tasks(INT16), rpccnt(INT32) - -.TP -.B addevent.sunrpc.clnt.bind_new_program.entry -Fires when a new RPC program is to be bound an existing client - -Data format is: - -.I common_data, servername(STRING), old_prog(INT64), old_vers(INT8), -.I prog(INT64), vers(INT8) - -.TP -.B addevent.sunrpc.clnt.call_sync.entry -Fires when an RPC procedure is to be called synchronously - -Data format is: - -.I common_data, servername(STRING), prog(INT64), vers(INT8), -.I proc(INT64), flags(INT64) - -.TP -.B addevent.sunrpc.clnt.call_async.entry -Fires when an RPC procedure is to be called asynchronously - -Data format is: - -.I common_data, servername(STRING), prog(INT64), vers(INT8), -.I proc(INT64), flags(INT64) - -.TP -.B addevent.sunrpc.clnt.restart_call.entry -Fires when want to restart a task - -Data format is: - -.I common_data, tk_pid(INT64), tk_flags(INT64) - -.TP -.B addevent.sunrpc.svc.register.entry -Fires when an RPC service is to be registered with the local -portmapper - -Data format is: - -.I common_data, sv_name(STRING), prog(INT64), prot(INT16), -.I port(INT32) - -.TP -.B addevent.sunrpc.svc.create.entry -Fires when an RPC service is to be created - -Data format is: - -.I common_data, prog(INT64), pg_nvers(INT8), bufsize(INT32) - -.TP -.B addevent.sunrpc.svc.destroy.entry -Fires when an RPC service is to be destroyed - -Data format is: - -.I common_data, sv_name(STRING), sv_prog(INT64), sv_nrthreads(INT32) - -.TP -.B addevent.sunrpc.svc.process.entry -Fires when an RPC request is to be processed - -Data format is: - -.I common_data, sv_name(STRING), sv_prog(INT64), peer_ip(INT64), -.I rq_xid(INT64), rq_prog(INT64), rq_vers(INT8), rq_proc(INT8) - -.TP -.B addevent.sunrpc.svc.authorise.entry -Fires when an RPC request is to be authorised - -Data format is: - -.I common_data, sv_name(STRING), peer_ip(INT64), rq_xid(INT64), -.I rq_prog(INT64), rq_vers(INT8), rq_proc(INT64) - -.TP -.B addevent.sunrpc.svc.recv.entry -Fires when receiving the next request on any socket - -Data format is: - -.I common_data, sv_name(STRING), timeout(INT64) - -.TP -.B addevent.sunrpc.svc.send.entry -Fires when want to return reply to the client - -Data format is: - -.I sv_name(STRING), peer_ip(INT64), rq_xid(INT64), rq_prog(INT64), -.I rq_vers(INT8), rq_proc(INT64) - -.TP -.B addevent.sunrpc.svc.drop.entry -Fires when a request is to be dropped - -Data format is: - -.I common_data, sv_name(STRING), peer_ip(INT64), rq_xid(INT64), -.I rq_prog(INT64), rq_vers(INT8), rq_proc(INT64) - -.TP -.B addevent.sunrpc.sched.new_task.entry -Fires when creating a new task for the specified client - -Data format is: - -.I common_data, xid(INT64), prog(INT64), vers(INT8), prot(INT64), -.I flags(INT64) - -.TP -.B addevent.sunrpc.sched.release_task.entry -Fires when releasing a task - -Data format is: - -.I common_data, xid(INT64), prog(INT64), vers(INT8), prot(INT64), -.I flags(INT64) - -.TP -.B addevent.sunrpc.sched.execute.entry -Fires when an RPC request is to be executed - -Data format is: - -.I common_data, xid(INT64), prog(INT64), vers(INT8), prot(INT64), -.I tk_pid(INT64), tk_flags(INT64) - -.TP -.B addevent.sunrpc.sched.delay.entry -Fires when want to delay an RPC request - -Data format is: - -.I common_data, xid(INT64), prog(INT64), tk_pid(INT64), -.I tk_flags(INT64), delay(INT64) - -.SS NFS -You could use -.I addevent.nfs -to trace the detail activities of nfs on client side. -It divided into three groups: nfs file operation event hooks(addevent.nfs.fop), -nfs address space operation event hooks(addevent.nfs.aop), nfs proc event hooks(addevent.nfs.proc). -It contains 36 entry hooks and 33 corresponding return hooks - -All the return hooks will only log the common_data and -the return value. So in the following subsections, only the entry -hooks will be listed: - -.P -.TP -.B addevent.nfs.fop.llseek.entry -the entry of nfs_file_llseek - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I offset(INT32), origin(INR8) - -.TP -.B addevent.nfs.fop.read.entry -the entry of do_sync_read - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I buf_addr(INT64), count(INT64) , offset(INT64) - -.TP -.B addevent.nfs.fop.write.entry -the entry of do_sync_write - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I buf_addr(INT64), count(INT64) , offset(INT64) - -.TP -.B addevent.nfs.fop.aio_read.entry -the entry of nfs_file_read - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I buf_addr(INT64), count(INT64) , offset(INT64) - -.TP -.B addevent.nfs.fop.aio_write.entry -the entry of nfs_file_read - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I buf_addr(INT64), count(INT64) , offset(INT64) - -.TP -.B addevent.nfs.fop.mmap.entry -the entry of nfs_file_mmap - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I vm_start(INT64), vm_end(INT64) , vm_flags(INT32) - -.TP -.B addevent.nfs.fop.open.entry -the entry of nfs_file_open - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I flag(INT32), filename(STRING) - -.TP -.B addevent.nfs.fop.flush.entry -the entry of nfs_file_flush - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I ndirty(INT32) - -.TP -.B addevent.nfs.fop.release.entry -the entry of nfs_file_release - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I mode(INT16) - -.TP -.B addevent.nfs.fop.fsync.entry -the entry of nfs_fsync - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I ndirty(INT32) - -.TP -.B addevent.nfs.fop.lock.entry -the entry of nfs_lock - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I fl_start(INT64), fl_end(INT64), fl_type(INT8), fl_flag(INT8), cmd(INT32) - -.TP -.B addevent.nfs.fop.sendfile.entry -the entry of nfs_file_sendfile - -Data format is: - -.I common_data, major_device(INT8), minor_devide(INT8), fileid(INT32), -.I count(INT64), ppos(INT64) - -.TP -.B addevent.nfs.fop.checkflags.entry -the entry of nfs_check_flags - -Data format is: - -.I flag(INT32) - -.TP -.B addevent.nfs.aop.readpage.entry -the entry of nfs_readpage - -Data format is: - -.I fileid(INT64), rsize(INT32), page_address(INT64), page_index(INT64) - -.TP -.B addevent.nfs.aop.readpages.entry -the entry of nfs_readpages - -Data format is: - -.I fileid(INT64), rpages(INT32), nr_pages(INT32) - -.TP -.B addevent.nfs.aop.writepage.entry -the entry of nfs_writepage - -Data format is: - -.I fileid(INT64), wsize(INT32), page_address(INT64), page_index(INT64) - -.TP -.B addevent.nfs.aop.writepages.entry -the entry of nfs_writepages - -Data format is: - -.I fileid(INT64), wpages(INT32), nr_to_write(INT64) - -.TP -.B addevent.nfs.aop.prepare_write.entry -the entry of nfs_prepare_write - -Data format is: - -.I fileid(INT64), page_address(INT64), page_index(INT64) - -.TP -.B addevent.nfs.aop.commit_write.entry -the entry of nfs_commit_write - -Data format is: - -.I fileid(INT64), page_address(INT64), page_index(INT64),offset(INT32),count(INT32) - -.TP -.B addevent.nfs.aop.set_page_dirty.entry -the entry of __set_page_dirty_nobuffers - -Data format is: - -.I page_address(INT64), page_flag(INT8) - -.TP -.B addevent.nfs.aop.release_page.entry -the entry of nfs_release_page - -Data format is: - -.I page_address(INT64), page_index(INT64) - -.TP -.B addevent.nfs.proc.lookup.entry -the entry of nfs_proc_lookup , nfs3_proc_lookup and nfs4_proc_lookup - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I filename(STRING) - -.TP -.B addevent.nfs.proc.read.entry -the entry of nfs_proc_read, nfs3_proc_read and nfs4_proc_read - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I count(INT32),offset(INT64) - -.TP -.B addevent.nfs.proc.write.entry -the entry of nfs_proc_write, nfs3_proc_write and nfs4_proc_write - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I count(INT32),offset(INT64) - -.TP -.B addevent.nfs.proc.commit.entry -Fires when client writes the buffered data to disk,the buffered data is asynchronously written by client before . -The commit function works in sync way,not exist in NFSV2 - -the entry of nfs3_proc_commit and nfs4_proc_commit - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I count(INT32),offset(INT64) - -.TP -.B addevent.nfs.proc.read_setup.entry -The read_setup function is used to setup a read rpc task,not do a real read operation - -the entry of nfs_proc_read_setup, nfs3_proc_read_setup and nfs4_proc_read_setup - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I count(INT32),offset(INT64) - -.TP -.B addevent.nfs.proc.write_setup.entry -The write_setup function is used to setup a write rpc task,not do a real write operation - -the entry of nfs_proc_write_setup, nfs3_proc_write_setup and nfs4_proc_write_setup - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I how(INT8), count(INT32),offset(INT64) - -.TP -.B addevent.nfs.proc.commit_setup.entry -The commit_setup function is used to setup a commit rpc task,not do a real commit operation.It is not exist in NFSV2 - -the entry of nfs3_proc_commit_setup and nfs4_proc_commit_setup - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I how(INT8), count(INT32),offset(INT64) - -.TP -.B addevent.nfs.proc.read_done.entry -Fires when a read reply is received or some read error occur (timeout or socket shutdown) - -the entry of nfs_read_done, nfs3_read_done and nfs4_read_done - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I status(INT32), count(INT32) - -.TP -.B addevent.nfs.proc.write_done.entry -Fires when a write reply is received or some write error occur (timeout or socket shutdown) - -the entry of nfs_write_done, nfs3_write_done and nfs4_write_done - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I status(INT32), count(INT32) - -.TP -.B addevent.nfs.proc.commit_done.entry -Fires when a commit reply is received or some commit operation error occur (timeout or socket shutdown) - -the entry of nfs_commit_done, nfs3_commit_done and nfs4_commit_done - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I status(INT32), count(INT32) - -.TP -.B addevent.nfs.proc.open.entry -the entry of nfs_open - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I filename(STRING), flag(INT32), mode(INT32) - -.TP -.B addevent.nfs.proc.release.entry -the entry of nfs_release - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I filename(STRING), flag(INT32), mode(INT32) - -.TP -.B addevent.nfs.proc.create.entry -the entry of nfs_proc_create, nfs3_proc_create, nfs4_proc_create - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I filename(STRING), mode(INT32) - -.TP -.B addevent.nfs.proc.rename.entry -the entry of nfs_proc_rename, nfs3_proc_rename, nfs4_proc_rename - -Data format is: - -.I version(INT8), major_old(INT8), minor_old(INT8), old_fileid(INT64), old_name(STRING), -.I major_new(INT8), minor_new(INT8), new_fileid(INT64), new_name(STRING) - -.TP -.B addevent.nfs.proc.remove.entry -the entry of nfs_proc_remove, nfs3_proc_remove, nfs4_proc_remove - -Data format is: - -.I major_dev(INT8), minor_dev(INT8), fileid(INT64), version(INT8), -.I filename(STRING) - -.SS NFSD -You could use -.I addevent.nfsd -to trace the detail activities of nfs on server side. -It divided into two groups: nfsd operation event hooks(addevent.nfsd.op), -nfsd proc event hooks(addevent.nfsd.proc). -It contains 19 entry hooks and 19 corresponding return hooks - -All the return hooks will only log the common_data and -the return value. So in the following subsections, only the entry -hooks will be listed: - -.P -.TP -.B addevent.nfsd.dispatch.entry -Fires when server receives a NFS operation from client - -the entry of nfsd_dispatch - -Data format is: - -.I proto(INT8), version(INT8), xid(INT32), proc(INT32),client_ip(INT32) - -.TP -.B addevent.nfsd.open.entry -the entry of nfsd_open - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), -.I type(INT32), access(INT32) - -.TP -.B addevent.nfsd.read.entry -the entry of nfsd_read - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), -.I count(INT64), offset(INT64), iov_len(INT64), vlen(INT64) - -.TP -.B addevent.nfsd.write.entry -the entry of nfsd_write - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), -.I count(INT64), offset(INT64), iov_len(INT64), vlen(INT64) - -.TP -.B addevent.nfsd.lookup.entry -the entry of nfsd_lookup - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), -.I filename(STRING) - -.TP -.B addevent.nfsd.commit.entry -the entry of nfsd_commit - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), -.I count(INT64), offset(INT64) - -.TP -.B addevent.nfsd.create.entry -Fires when client creates a file(regular,dir,device,fifo) on server side, -sometimes nfsd will call nfsd_create_v3 instead of this function - -the entry of nfsd_create - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), -.I filename(STRING), type(INT32), iap_valid(INT16), iap_mode(INT32) - -.TP -.B addevent.nfsd.createv3.entry -Fires when client creates a regular file or set file attributes on server side, -only called by nfsd3_proc_create and nfsd4_open(op_claim_type is NFS4_OPEN_CLAIM_NULL) - -the entry of nfsd_create_v3 - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), -.I filename(STRING), createmode(INT8), iap_valid(INT16), iap_mode(INT32) - -.TP -.B addevent.nfsd.unlink.entry -the entry of nfsd_unlink - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), -.I filename(STRING), type(INT32) - -.TP -.B addevent.nfsd.rename.entry -the entry of nfsd_rename - -Data format is: - -.I old_fhsize(INT8), old_fh0(INT64), old_fh1(INT64), old_fh2(INT64), old_name(STRING) -.I new_fhsize(INT8), new_fh0(INT64), new_fh1(INT64), new_fh2(INT64), new_name(STRING) - -.TP -.B addevent.nfsd.close.entry -the entry of nfsd_close - -Data format is: - -.I filename(STRING) - -.TP -.B addevent.nfsd.proc.lookup.entry -the entry of nfsd_proc_lookup, nfsd3_proc_lookup - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), version(INT8) -.I filename(STRING) - -.TP -.B addevent.nfsd.proc.read.entry -the entry of nfsd_proc_read, nfsd3_proc_read - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), version(INT8) -.I count(INT64), offset(INT64), iov_len(INT64), vlen(INT64) - -.TP -.B addevent.nfsd.proc.write.entry -the entry of nfsd_proc_write, nfsd3_proc_write - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), version(INT8) -.I count(INT64), offset(INT64), iov_len(INT64), vlen(INT64) - -.TP -.B addevent.nfsd.proc.commit.entry -the entry of nfsd_proc_commit, nfsd3_proc_commit - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), version(INT8) -.I count(INT64), offset(INT64) - -.TP -.B addevent.nfsd.proc.commit.entry -the entry of nfsd4_proc_compound - -Data format is: - -.I number(INT32) - -.TP -.B addevent.nfsd.proc.remove.entry -the entry of nfsd4_proc_compound - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), version(INT8) -.I filename(STRING) - -.TP -.B addevent.nfsd.proc.rename.entry -the entry of nfsd_proc_rename, nfsd3_proc_rename - -Data format is: - -.I old_fhsize(INT8), old_fh0(INT64), old_fh1(INT64), old_fh2(INT64), old_name(STRING) -.I new_fhsize(INT8), new_fh0(INT64), new_fh1(INT64), new_fh2(INT64), new_name(STRING) - -.TP -.B addevent.nfsd.proc.create.entry -the entry of nfsd_proc_create, nfsd3_proc_create - -Data format is: - -.I fh_size(INT8), fhandle0(INT64), fhandle1(INT64), fhandle2(INT64), version(INT8) -.I filename(STRING) - -.SH SEE ALSO -.IR stap (1) -.IR lket\-b2a (1) diff --git a/testsuite/buildok/lket.stp b/testsuite/buildok/lket.stp deleted file mode 100755 index adbaac59..00000000 --- a/testsuite/buildok/lket.stp +++ /dev/null @@ -1,3 +0,0 @@ -#! stap -p4 -bM - -probe addevent.* ? {} diff --git a/testsuite/systemtap.samples/lket.exp b/testsuite/systemtap.samples/lket.exp deleted file mode 100644 index d6af897c..00000000 --- a/testsuite/systemtap.samples/lket.exp +++ /dev/null @@ -1,49 +0,0 @@ -# Test the basic functionality of LKET tapset and lket-b2a utility - -proc cleanfiles {} { - catch {exec /bin/sh -c "rm -f stpd_cpu* lket.out"} -} - -set test "$subdir\/lket" -if {[info procs installtest_p]!="" && ![installtest_p]} {untested $test; return} - -eval spawn stap -v -DMAXSKIPPED=100000 -bM $srcdir/$subdir/lket.stp -set failed 1 -set timeout 1800 -expect { - -re {^Pass\ ([1234]):\ [^\r]*\r\n} { - set detail "pass$expect_out(1,string)"; - exp_continue - } - -re {^Pass\ 5: starting run.\r\n} { - set detail "stap runtime"; - exp_continue - } - -re {Pass\ 5:[^\r]*\ in\ ([0-9]+)usr/([0-9]+)sys/([0-9]+)real\ ms\.\r\n} { - set failed 0 - } - -re {parse error|semantic error} {set detail "$expect_out(0,string)"} - timeout {set detail "stap timeout"; send "\003" } -} - -if {$failed} { fail "$test\($detail\)"; cleanfiles; return} - -set failed [catch {exec /bin/sh -c "lket-b2a -f stpd_cpu*"}] - -if { $failed || ![file readable "lket.out"] } { - fail "$test\(lket-b2a runtime\)"; cleanfiles; return -} - -eval {spawn head -n 10 "lket.out"} -expect -re {^LKET\ Magic:\t0xAEFCDB6B\r\nInitHdrLen:\t[0-9]+\r\nVersion\ Major:\t[0-9]+\r\nVersion\ Minor:\t[0-9]+\r\nBig\ endian:\t(YES|NO)\r\nTiming\ method:\t.+\r\nBits\ width:\t[0-9]+\r\nInitial\ CPU\ timebase:\t[0-9]+\ \(cycles\ per\ microsecond\)\r\n\r\n[0-9]+\.[0-9]+\ CPU:[0-9]+\ PID:[0-9]+\ APPNAME:.+\ EVT_NAME:process_snapshot\ tid:[0-9]+,pid:[0-9]+,ppid:[0-9]+,pname:} { - set failed 0 -} - -if {$failed} { - fail "$test\(wrong init_header\)"; -} else { - pass "$test\($failed\)"; -} - -cleanfiles -return diff --git a/testsuite/systemtap.samples/lket.stp b/testsuite/systemtap.samples/lket.stp deleted file mode 100644 index e63229b2..00000000 --- a/testsuite/systemtap.samples/lket.stp +++ /dev/null @@ -1,3 +0,0 @@ -#! stap -bM -probe addevent.* ? {} -probe timer.ms(30000) { exit() } |