Edition 0
register and u_register in current context. setsockoptsetsockoptsock_aio_writesock_aio_writesock_aio_readsock_aio_readsocket_writevsocket_writevsock_readvsock_readvMono-spaced Bold
To see the contents of the filemy_next_bestselling_novelin your current working directory, enter thecat my_next_bestselling_novelcommand at the shell prompt and press Enter to execute the command.
Press Enter to execute the command.Press Ctrl+Alt+F2 to switch to the first virtual terminal. Press Ctrl+Alt+F1 to return to your X-Windows session.
mono-spaced bold. For example:
File-related classes includefilesystemfor file systems,filefor files, anddirfor directories. Each class has its own associated set of permissions.
Choose → → from the main menu bar to launch Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).To insert a special character into a gedit file, choose → → from the main menu bar. Next, choose → from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose → from the gedit menu bar.
Mono-spaced Bold Italic or Proportional Bold Italic
To connect to a remote machine using ssh, typesshat a shell prompt. If the remote machine isusername@domain.nameexample.comand your username on that machine is john, typessh john@example.com.Themount -o remountcommand remounts the named file system. For example, to remount thefile-system/homefile system, the command ismount -o remount /home.To see the version of a currently installed package, use therpm -qcommand. It will return a result as follows:package.package-version-release
Publican is a DocBook publishing system.
mono-spaced roman and presented thus:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
mono-spaced roman but add syntax highlighting as follows:
package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
do_execve() or the compat_do_execve() functions. The following alias inserts probes at the beginning of those functions:
probe kprocess.exec = kernel.function("do_execve"),
kernel.function("compat_do_execve")
{probe body}
stap(1) man page for details).
copy_process() returns a pointer to the task_struct for the new process. Note that the process ID of the new process is retrieved by calling task_pid() and passing it the task_struct pointer. In this case, the auxiliary function is an embedded C function defined in task.stp.
probe kprocess.create = kernel.function("copy_process").return
{
task = $return
new_pid = task_pid(task)
}
src/tapset/
of the SystemTap GIT directory. Most tapset files are kept at that
level. If you have code that only works with a specific architecture or
kernel version, you may choose to put your tapset in the appropriate
subdirectory.
/usr/share/systemtap/tapset/ or /usr/local/share/systemtap/tapset.
-I tapset_directory to specify their location when invoking stap.
tapset_name.probe_name. For example, the probe for sending a signal could be named signal.send.
_).
/** * probe tapset.name - Short summary of what the tapset does. * @argument: Explanation of argument. * @argument2: Explanation of argument2. Probes can have multiple arguments. * * Context: * A brief explanation of the tapset context. * Note that the context should only be 1 paragraph short. * * Text that will appear under "Description." * * A new paragraph that will also appear under the heading "Description". * * Header: * A paragraph that will appear under the heading "Header". **/
/**
* probe vm.write_shared_copy- Page copy for shared page write.
* @address: The address of the shared write.
* @zero: Boolean indicating whether it is a zero page
* (can do a clear instead of a copy).
*
* Context:
* The process attempting the write.
*
* Fires when a write to a shared page requires a page copy. This is
* always preceded by a vm.shared_write.
**/
Synopsis content, use:
* Synopsis:
* New Synopsis string
*
/** * probe signal.handle - Fires when the signal handler is invoked * @sig: The signal number that invoked the signal handler * * Synopsis: * <programlisting>static int handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka, * sigset_t *oldset, struct pt_regs * regs)</programlisting> */
<programlisting> tag in this instance, since overriding the Synopsis content of an entry does not automatically form the necessary tags.
command
emphasis
programlisting
remark (tagged strings will appear in Publican beta builds of the document)
register and u_register in current context. function::print_regs — Print a register dump.
function print_regs()
print_regs
function::execname — Returns the execname of a target process (or group of processes).
function execname:string()
string
function::pid — Returns the ID of a target process.
function pid:long()
long
function::tid — Returns the thread ID of a target process.
function tid:long()
long
function::ppid — Returns the process ID of a target process's parent process.
function ppid:long()
long
function::pgrp — Returns the process group ID of the current process.
function pgrp:long()
long
function::sid — Returns the session ID of the current process.
function sid:long()
long
function::pexecname — Returns the execname of a target process's parent process.
function pexecname:string()
string
function::gid — Returns the group ID of a target process.
function gid:long()
long
function::egid — Returns the effective gid of a target process.
function egid:long()
long
function::uid — Returns the user ID of a target process.
function uid:long()
long
function::euid — Return the effective uid of a target process.
function euid:long()
long
function::is_myproc — Determines if the current probe point has occurred in the user's own process.
function is_myproc:long()
long
function::cpu — Returns the current cpu number.
function cpu:long()
long
function::pp — Returns the active probe point.
function pp:string()
string
function::registers_valid — Determines validity of register and u_register in current context.
function registers_valid:long()
long
register and u_register can be used in the current context, or 0 otherwise. For example, registers_valid returns 0 when called from a begin or end probe.
function::user_mode — Determines if probe point occurs in user-mode.
function user_mode:long()
long
function::is_return — Whether the current probe context is a return probe.
function is_return:long()
long
function::target — Return the process ID of the target process.
function target:long()
long
function::module_name — The module name of the current script.
function module_name:string()
string
function::stp_pid — The process id of the stapio process.
function stp_pid:long()
long
function::stack_size — Return the size of the kernel stack.
function stack_size:long()
long
function::stack_used — Returns the amount of kernel stack used.
function stack_used:long()
long
function::stack_unused — Returns the amount of kernel stack currently available.
function stack_unused:long()
long
function::uaddr — User space address of current running task. EXPERIMENTAL.
function uaddr:long()
long
usymname or symdata. Often the task will be in the VDSO where it entered the kernel. FIXME - need VDSO tracking support #10080.
function::cmdline_args — Fetch command line arguments from current process
function cmdline_args:string(n:long,m:long,delim:string)
nmdelimfunction::cmdline_arg — Fetch a command line argument.
function cmdline_arg:string(n:long)
nfunction::cmdline_str — Fetch all command line arguments from current process
function cmdline_str:string()
string
function::env_var — Fetch environment variable from current process
function env_var:string(name:string)
namefunction::print_stack — Print out kernel stack from string.
function print_stack(stk:string)
stkbacktrace.
function::sprint_stack — Return stack for kernel addresses from string. EXPERIMENTAL!
function sprint_stack:string(stk:string)
stkbacktrace.
function::probefunc — Return the probe point's function name, if known.
function probefunc:string()
string
pp.
symname and/or usymname. This function might return a function name based on the current address if the probe point context couldn't be parsed.
function::probemod — Return the probe point's kernel module name.
function probemod:string()
string
function::modname — Return the kernel module name loaded at the address.
function modname:string(addr:long)
addrfunction::symname — Return the kernel symbol associated with the given address.
function symname:string(addr:long)
addrfunction::symdata — Return the kernel symbol and module offset for the address.
function symdata:string(addr:long)
addrfunction::usymname — Return the symbol of an address in the current task. EXPERIMENTAL!
function usymname:string(addr:long)
addrfunction::usymdata — Return the symbol and module offset of an address. EXPERIMENTAL!
function usymdata:string(addr:long)
addrfunction::print_ustack — Print out stack for the current task from string. EXPERIMENTAL!
function print_ustack(stk:string)
stkubacktrace for the current task.
function::sprint_ustack — Return stack for the current task from string. EXPERIMENTAL!
function sprint_ustack:string(stk:string)
stkubacktrace for the current task.
function::print_backtrace — Print stack back trace
function print_backtrace()
print_backtrace
backtrace), except that deeper stack nesting may be supported. The function does not return a value.
function::sprint_backtrace — Return stack back trace as string. EXPERIMENTAL!
function sprint_backtrace:string()
print_backtrace. Equivalent to sprint_stack(backtrace), but more efficient (no need to translate between hex strings and final backtrace string).
function::backtrace — Hex backtrace of current stack
function backtrace:string()
string
function::task_backtrace — Hex backtrace of an arbitrary task
function task_backtrace:string(task:long)
taskfunction::caller — Return name and address of calling function
function caller:string()
string
s 0xx”, symname(caller_addr, caller_addr)) Works only for return probes at this time.
function::caller_addr — Return caller address
function caller_addr:long()
long
function::print_ubacktrace — Print stack back trace for current task. EXPERIMENTAL!
function print_ubacktrace()
ubacktrace), except that deeper stack nesting may be supported. Returns nothing.
function::sprint_ubacktrace — Return stack back trace for current task as string. EXPERIMENTAL!
function sprint_ubacktrace:string()
print_ubacktrace. Equivalent to sprint_ustack(ubacktrace), but more efficient (no need to translate between hex strings and final backtrace string).
function::print_ubacktrace_brief — Print stack back trace for current task. EXPERIMENTAL!
function print_ubacktrace_brief()
print_ubacktrace, but output for each symbol is shorter (just name and offset, or just the hex address of no symbol could be found).
function::ubacktrace — Hex backtrace of current task stack. EXPERIMENTAL!
function ubacktrace:string()
function::task_current — The current task_struct of the current task.
function task_current:long()
long
function::task_parent — The task_struct of the parent task.
function task_parent:long(task:long)
taskfunction::task_state — The state of the task.
function task_state:long(task:long)
taskfunction::task_execname — The name of the task.
function task_execname:string(task:long)
taskfunction::task_pid — The process identifier of the task.
function task_pid:long(task:long)
taskfunction::pid2task — The task_struct of the given process identifier.
function pid2task:long(pid:long)
pidfunction::pid2execname — The name of the given process identifier.
function pid2execname:string(pid:long)
pidfunction::task_tid — The thread identifier of the task.
function task_tid:long(task:long)
taskfunction::task_gid — The group identifier of the task.
function task_gid:long(task:long)
taskfunction::task_egid — The effective group identifier of the task.
function task_egid:long(task:long)
taskfunction::task_uid — The user identifier of the task.
function task_uid:long(task:long)
taskfunction::task_euid — The effective user identifier of the task.
function task_euid:long(task:long)
taskfunction::task_prio — The priority value of the task.
function task_prio:long(task:long)
taskfunction::task_nice — The nice value of the task.
function task_nice:long(task:long)
taskfunction::task_cpu — The scheduled cpu of the task.
function task_cpu:long(task:long)
taskfunction::task_open_file_handles — The number of open files of the task.
function task_open_file_handles:long(task:long)
taskfunction::task_max_file_handles — The max number of open files for the task.
function task_max_file_handles:long(task:long)
taskfunction::pn — Returns the active probe name.
function pn:string()
string
function::get_cycles — Processor cycle count.
function get_cycles:long()
long
function::gettimeofday_ns — Number of nanoseconds since UNIX epoch.
function gettimeofday_ns:long()
long
function::gettimeofday_us — Number of microseconds since UNIX epoch.
function gettimeofday_us:long()
long
function::gettimeofday_ms — Number of milliseconds since UNIX epoch.
function gettimeofday_ms:long()
long
function::gettimeofday_s — Number of seconds since UNIX epoch.
function gettimeofday_s:long()
long
function::ctime — Convert seconds since epoch into human readable date/time string.
function ctime:string(epochsecs:long)
epochsecsgettimeofday_s).
gettimeofday_s. Returns a string of the form
ctime
function puts a newline ('\n') character at the end of the string that
this function does not. Also note that since the kernel has no concept
of timezones, the returned time is always in GMT.
function::vm_fault_contains — Test return value for page fault reason
function vm_fault_contains:long(value:long,test:long)
valuetestprobe::vm.pagefault — Records that a page fault occurred.
vm.pagefault
write_accessnameaddressprobe::vm.pagefault.return — Indicates what type of fault occurred.
vm.pagefault.return
namefault_typefunction::addr_to_node — Returns which node a given address belongs to within a NUMA system.
function addr_to_node:long(addr:long)
addrprobe::vm.mmap — Fires when an mmap is requested.
vm.mmap
lengthnameaddressprobe::vm.munmap — Fires when an munmap is requested.
vm.munmap
lengthnameaddressprobe::vm.brk — Fires when a brk is requested (i.e. the heap will be resized).
vm.brk
lengthnameaddressprobe::vm.oom_kill — Fires when a thread is selected for termination by the OOM killer.
vm.oom_kill
nametaskprobe::vm.kmalloc — Fires when kmalloc is requested.
vm.kmalloc
ptrcaller_functioncall_sitegfp_flag_namenamebytes_reqbytes_allocgfp_flagsprobe::vm.kmem_cache_alloc — Fires when \
vm.kmem_cache_alloc
ptrcaller_functioncall_sitegfp_flag_namenamebytes_reqbytes_allocgfp_flagsprobe::vm.kmalloc_node — Fires when kmalloc_node is requested.
vm.kmalloc_node
ptrcaller_functioncall_sitegfp_flag_namenamebytes_reqbytes_allocgfp_flagsprobe::vm.kmem_cache_alloc_node — Fires when \
vm.kmem_cache_alloc_node
ptrcaller_functioncall_sitegfp_flag_namenamebytes_reqbytes_allocgfp_flagsprobe::vm.kfree — Fires when kfree is requested.
vm.kfree
ptrcaller_functioncall_sitenameprobe::vm.kmem_cache_free — Fires when \
vm.kmem_cache_free
ptrcaller_functioncall_sitenamefunction::proc_mem_size — Total program virtual memory size in pages
function proc_mem_size:long()
function::proc_mem_size_pid — Total program virtual memory size in pages
function proc_mem_size_pid:long(pid:long)
pidfunction::proc_mem_rss — Program resident set size in pages
function proc_mem_rss:long()
function::proc_mem_rss_pid — Program resident set size in pages
function proc_mem_rss_pid:long(pid:long)
pidfunction::proc_mem_shr — Program shared pages (from shared mappings)
function proc_mem_shr:long()
function::proc_mem_shr_pid — Program shared pages (from shared mappings)
function proc_mem_shr_pid:long(pid:long)
pidfunction::proc_mem_txt — Program text (code) size in pages
function proc_mem_txt:long()
function::proc_mem_txt_pid — Program text (code) size in pages
function proc_mem_txt_pid:long(pid:long)
pidfunction::proc_mem_data — Program data size (data + stack) in pages
function proc_mem_data:long()
function::proc_mem_data_pid — Program data size (data + stack) in pages
function proc_mem_data_pid:long(pid:long)
pidfunction::mem_page_size — Number of bytes in a page for this architecture
function mem_page_size:long()
function::bytes_to_string — Human readable string for given bytes
function bytes_to_string:string(bytes:long)
bytesfunction::pages_to_string — Turns pages into a human readable string
function pages_to_string:string(pages:long)
pagespage_size to get the number of bytes and returns the result of bytes_to_string.
function::proc_mem_string — Human readable string of current proc memory usage
function proc_mem_string:string()
function::proc_mem_string_pid — Human readable string of process memory usage
function proc_mem_string_pid:string(pid:long)
pidfunction::task_utime — User time of the current task
function task_utime:long()
function::task_utime_tid — User time of the given task
function task_utime_tid:long(tid:long)
tidfunction::task_stime — System time of the current task
function task_stime:long()
function::task_stime_tid — System time of the given task
function task_stime_tid:long(tid:long)
tidfunction::cputime_to_msecs — Translates the given cputime into milliseconds
function cputime_to_msecs:long(cputime:long)
cputimefunction::msecs_to_string — Human readable string for given milliseconds
function msecs_to_string:string(msecs:long)
msecsfunction::cputime_to_string — Human readable string for given cputime
function cputime_to_string:string(cputime:long)
cputimefunction::task_time_string — Human readable string of task time usage
function task_time_string:string()
function::task_time_string_tid — Human readable string of task time usage
function task_time_string_tid:string(tid:long)
tidprobe::ioscheduler.elv_next_request — Fires when a request is retrieved from the request queue
ioscheduler.elv_next_request
nameelevator_nameprobe::ioscheduler.elv_next_request.return — Fires when a request retrieval issues a return signal
ioscheduler.elv_next_request.return
disk_majorrqnamedisk_minorrq_flagsprobe::ioscheduler.elv_completed_request — Fires when a request is completed
ioscheduler.elv_completed_request
disk_majorrqnameelevator_namedisk_minorrq_flagsprobe::ioscheduler.elv_add_request.kp — kprobe based probe to indicate that a request was added to the request queue
ioscheduler.elv_add_request.kp
disk_majorrqqnameelevator_namedisk_minorrq_flagsprobe::ioscheduler.elv_add_request.tp — tracepoint based probe to indicate a request is added to the request queue.
ioscheduler.elv_add_request.tp
disk_majorrqqnameelevator_namedisk_minorrq_flagsprobe::ioscheduler.elv_add_request — probe to indicate request is added to the request queue.
ioscheduler.elv_add_request
disk_majorrqqelevator_namedisk_minorrq_flagsprobe::ioscheduler_trace.elv_completed_request — Fires when a request is
ioscheduler_trace.elv_completed_request
disk_majorrqnameelevator_namedisk_minorrq_flagsprobe::ioscheduler_trace.elv_issue_request — Fires when a request is
ioscheduler_trace.elv_issue_request
disk_majorrqnameelevator_namedisk_minorrq_flagsprobe::ioscheduler_trace.elv_requeue_request — Fires when a request is
ioscheduler_trace.elv_requeue_request
disk_majorrqnameelevator_namedisk_minorrq_flagsprobe::ioscheduler_trace.elv_abort_request — Fires when a request is aborted.
ioscheduler_trace.elv_abort_request
disk_majorrqnameelevator_namedisk_minorrq_flagsprobe::ioscheduler_trace.plug — Fires when a request queue is plugged;
ioscheduler_trace.plug
namerq_queueprobe::ioscheduler_trace.unplug_io — Fires when a request queue is unplugged;
ioscheduler_trace.unplug_io
namerq_queueprobe::ioscheduler_trace.unplug_timer — Fires when unplug timer associated
ioscheduler_trace.unplug_timer
namerq_queueprobe::ioblock.request — Fires whenever making a generic block I/O request.
ioblock.request
name - name of the probe point devname - block device name ino - i-node number of the mapped file sector - beginning sector for the entire bio flags
- see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1
RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error
BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data
BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages
BIO_EOPNOTSUPP 7 not supported
rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which make up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed hw_segments - number of segments after physical and DMA remapping hardware coalescing is performed size - total size in bytes bdev - target block device bdev_contains - points to the device object which contains the partition (when bio structure represents a partition) p_start_sect - points to the start sector of the partition structure of the device
probe::ioblock.end — Fires whenever a block I/O transfer is complete.
ioblock.end
name - name of the probe point devname - block device name ino - i-node number of the mapped file bytes_done - number of bytes transferred sector - beginning sector for the entire bio flags
- see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1
RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error
BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data
BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages
BIO_EOPNOTSUPP 7 not supported error - 0 on success rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which makes up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed. hw_segments - number of segments after physical and DMA remapping hardware coalescing is performed size - total size in bytes
probe::ioblock_trace.bounce — Fires whenever a buffer bounce is needed for at least one page of a block IO request.
ioblock_trace.bounce
name - name of the probe point q - request queue on which this bio was queued. devname - device for which a buffer bounce was needed. ino - i-node number of the mapped file bytes_done - number of bytes transferred sector - beginning sector for the entire bio flags
- see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1
RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error
BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data
BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages
BIO_EOPNOTSUPP 7 not supported rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which makes up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed. size - total size in bytes bdev - target block device bdev_contains - points to the device object which contains the partition (when bio structure represents a partition) p_start_sect - points to the start sector of the partition structure of the device
probe::ioblock_trace.request — Fires just as a generic block I/O request is created for a bio.
ioblock_trace.request
name - name of the probe point q - request queue on which this bio was queued. devname - block device name ino - i-node number of the mapped file bytes_done - number of bytes transferred sector - beginning sector for the entire bio flags
- see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1
RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error
BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data
BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages
BIO_EOPNOTSUPP 7 not supported
rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which make up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed. size - total size in bytes bdev - target block device bdev_contains - points to the device object which contains the partition (when bio structure represents a partition) p_start_sect - points to the start sector of the partition structure of the device
probe::ioblock_trace.end — Fires whenever a block I/O transfer is complete.
ioblock_trace.end
name - name of the probe point q - request queue on which this bio was queued. devname - block device name ino - i-node number of the mapped file bytes_done - number of bytes transferred sector - beginning sector for the entire bio flags
- see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1
RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error
BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data
BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages
BIO_EOPNOTSUPP 7 not supported
rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which makes up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed. size - total size in bytes bdev - target block device bdev_contains - points to the device object which contains the partition (when bio structure represents a partition) p_start_sect - points to the start sector of the partition structure of the device
probe::scsi.ioentry — Prepares a SCSI mid-layer request
scsi.ioentry
disk_majordevice_state_strdevice_statereq_addrdisk_minorprobe::scsi.iodispatching — SCSI mid-layer dispatched low-level SCSI command
scsi.iodispatching
device_state_strdev_idchanneldata_directionlunrequest_bufflenhost_nodevice_statedata_direction_strreq_addrrequest_bufferprobe::scsi.iodone — SCSI command completed by low level driver and enqueued into the done queue.
scsi.iodone
device_state_strdev_idchanneldata_directionlunhost_nodata_direction_strdevice_statescsi_timer_pendingreq_addrprobe::scsi.iocompleted — SCSI mid-layer running the completion processing for block device I/O requests
scsi.iocompleted
device_state_strdev_idchanneldata_directionlunhost_nodata_direction_strdevice_statereq_addrgoodbytesprobe::scsi.ioexecute — Create mid-layer SCSI request and wait for the result
scsi.ioexecute
retriesdevice_state_strdev_idchanneldata_directionluntimeoutrequest_bufflenhost_nodata_direction_strdevice_staterequest_bufferprobe::scsi.set_state — Order SCSI device state change
scsi.set_state
state_strdev_idchannelstateold_state_strlunold_statehost_noprobe::tty.open — Called when a tty is opened
tty.open
inode_statefile_namefile_modefile_flagsinode_numberinode_flagsprobe::tty.release — Called when the tty is closed
tty.release
inode_statefile_namefile_modefile_flagsinode_numberinode_flagsprobe::tty.resize — Called when a terminal resize happens
tty.resize
new_ypixelold_colold_xpixelold_ypixelnameold_rownew_rownew_xpixelnew_colprobe::tty.ioctl — called when a ioctl is request to the tty
tty.ioctl
cmdargnameprobe::tty.init — Called when a tty is being initalized
tty.init
driver_namenamemoduleprobe::tty.register — Called when a tty device is registred
tty.register
driver_namenameindexmoduleprobe::tty.unregister — Called when a tty device is being unregistered
tty.unregister
driver_namenameindexmoduleprobe::tty.poll — Called when a tty device is being polled
tty.poll
file_namewait_keyprobe::tty.receive — called when a tty receives a message
tty.receive
driver_namecountnamefpcpindexidprobe::tty.write — write to the tty line
tty.write
driver_namebufferfile_namenrprobe::tty.read — called when a tty line will be read
tty.read
driver_namebufferfile_namenrsetsockoptsetsockoptprobe::netdev.receive — Data received from network device.
netdev.receive
protocoldev_namelengthprobe::netdev.transmit — Network device transmitting buffer
netdev.transmit
protocoldev_namelengthtruesizeprobe::netdev.change_mtu — Called when the netdev MTU is changed
netdev.change_mtu
dev_namenew_mtuold_mtuprobe::netdev.open — Called when the device is opened
netdev.open
dev_nameprobe::netdev.close — Called when the device is closed
netdev.close
dev_nameprobe::netdev.hard_transmit — Called when the devices is going to TX (hard)
netdev.hard_transmit
protocoldev_namelengthtruesizeprobe::netdev.rx — Called when the device is going to receive a packet
netdev.rx
protocoldev_nameprobe::netdev.change_rx_flag — Called when the device RX flag will be changed
netdev.change_rx_flag
dev_nameflagsprobe::netdev.set_promiscuity — Called when the device enters/leaves promiscuity
netdev.set_promiscuity
dev_nameenableincdisableprobe::netdev.ioctl — Called when the device suffers an IOCTL
netdev.ioctl
cmdargprobe::netdev.register — Called when the device is registered
netdev.register
dev_nameprobe::netdev.unregister — Called when the device is being unregistered
netdev.unregister
dev_nameprobe::netdev.get_stats — Called when someone asks the device statistics
netdev.get_stats
dev_nameprobe::netdev.change_mac — Called when the netdev_name has the MAC changed
netdev.change_mac
dev_namenew_macmac_lenold_macprobe::tcp.sendmsg — Sending a tcp message
tcp.sendmsg
namesizesockprobe::tcp.sendmsg.return — Sending TCP message is done
tcp.sendmsg.return
namesizeprobe::tcp.recvmsg — Receiving TCP message
tcp.recvmsg
saddrdaddrnamesportdportsizesockprobe::tcp.recvmsg.return — Receiving TCP message complete
tcp.recvmsg.return
saddrdaddrnamesportdportsizeprobe::tcp.disconnect — TCP socket disconnection
tcp.disconnect
saddrdaddrflagsnamesportdportsockprobe::tcp.disconnect.return — TCP socket disconnection complete
tcp.disconnect.return
retnameprobe::tcp.setsockopt — Call to setsockopt
tcp.setsockopt
optstrleveloptlensetsockopt
nameoptnamesockprobe::tcp.setsockopt.return — Return from setsockopt
tcp.setsockopt.return
retnameprobe::tcp.receive — Called when a TCP packet is received
tcp.receive
urgprotocolpshnamerstdportsaddrdaddrackfinsynsportiphdrprobe::udp.sendmsg — Fires whenever a process sends a UDP message
udp.sendmsg
namesizesockprobe::udp.sendmsg.return — Fires whenever an attempt to send a UDP message is completed
udp.sendmsg.return
namesizeprobe::udp.recvmsg — Fires whenever a UDP message is received
udp.recvmsg
namesizesockprobe::udp.recvmsg.return — Fires whenever an attempt to receive a UDP message received is completed
udp.recvmsg.return
namesizeprobe::udp.disconnect — Fires when a process requests for a UDP disconnection
udp.disconnect
flagsnamesockprobe::udp.disconnect.return — UDP has been disconnected successfully
udp.disconnect.return
retnamefunction::ip_ntop — returns a string representation from an integer IP number
function ip_ntop:string(addr:long)
addrsock_aio_writesock_aio_writesock_aio_readsock_aio_readsocket_writevsocket_writevsock_readvsock_readvprobe::socket.send — Message sent on a socket.
socket.send
successprotocolflagsnamestatesizetypefamilyprobe::socket.receive — Message received on a socket.
socket.receive
successprotocolflagsnamestatesizetypefamilyprobe::socket.sendmsg — Message is currently being sent on a socket.
socket.sendmsg
protocolflagsnamestatesizetypefamilysock_sendmsg function
probe::socket.sendmsg.return — Return from socket.sendmsg.
socket.sendmsg.return
successprotocolflagsnamestatesizetypefamilysock_sendmsg function
probe::socket.recvmsg — Message being received on socket
socket.recvmsg
protocolflagsnamestatesizetypefamilysock_recvmsg function
probe::socket.recvmsg.return — Return from Message being received on socket
socket.recvmsg.return
successprotocolflagsnamestatesizetypefamilysock_recvmsg function.
probe::socket.aio_write — Message send via sock_aio_write
socket.aio_write
protocolflagsnamestatesizetypefamilysock_aio_write function
probe::socket.aio_write.return — Conclusion of message send via sock_aio_write
socket.aio_write.return
successprotocolflagsnamestatesizetypefamilysock_aio_write function
probe::socket.aio_read — Receiving message via sock_aio_read
socket.aio_read
protocolflagsnamestatesizetypefamilysock_aio_read function
probe::socket.aio_read.return — Conclusion of message received via sock_aio_read
socket.aio_read.return
successprotocolflagsnamestatesizetypefamilysock_aio_read function
probe::socket.writev — Message sent via socket_writev
socket.writev
protocolflagsnamestatesizetypefamilysock_writev function
probe::socket.writev.return — Conclusion of message sent via socket_writev
socket.writev.return
successprotocolflagsnamestatesizetypefamilysock_writev function
probe::socket.readv — Receiving a message via sock_readv
socket.readv
protocolflagsnamestatesizetypefamilysock_readv function
probe::socket.readv.return — Conclusion of receiving a message via sock_readv
socket.readv.return
successprotocolflagsnamestatesizetypefamilysock_readv function
probe::socket.create — Creation of a socket
socket.create
protocolnamerequestertypefamilyprobe::socket.create.return — Return from Creation of a socket
socket.create.return
successprotocolerrnamerequestertypefamilyprobe::socket.close — Close a socket
socket.close
protocolflagsnamestatetypefamilyprobe::socket.close.return — Return from closing a socket
socket.close.return
namefunction::sock_prot_num2str — Given a protocol number, return a string representation.
function sock_prot_num2str:string(proto:long)
protofunction::sock_prot_str2num — Given a protocol name (string), return the corresponding protocol number.
function sock_prot_str2num:long(proto:string)
protofunction::sock_fam_num2str — Given a protocol family number, return a string representation.
function sock_fam_num2str:string(family:long)
familyfunction::sock_fam_str2num — Given a protocol family name (string), return the corresponding
function sock_fam_str2num:long(family:string)
familyfunction::sock_state_num2str — Given a socket state number, return a string representation.
function sock_state_num2str:string(state:long)
statefunction::sock_state_str2num — Given a socket state string, return the corresponding state number.
function sock_state_str2num:long(state:string)
stateprobe::kprocess.create — Fires whenever a new process is successfully created
kprocess.create
new_pidprobe::kprocess.start — Starting new process
kprocess.start
probe::kprocess.exec — Attempt to exec to a new program
kprocess.exec
filenameprobe::kprocess.exec_complete — Return from exec to a new program
kprocess.exec_complete
successerrnoprobe::kprocess.exit — Exit from process
kprocess.exit
codeprobe::kprocess.release — Process released
kprocess.release
pidtaskprobe::signal.send — Signal being sent to a process
signal.send
send2queuenametasksinfosi_codesig_namesigsharedsig_pidpid_nameprobe::signal.send.return — Signal being sent to a process completed
signal.send.return
retstrsend2queuenamesharedkill.
probe::signal.checkperm — Check being performed on a sent signal
signal.checkperm
nametasksinfosi_codesig_namesigpid_namesig_pidprobe::signal.checkperm.return — Check performed on a sent signal completed
signal.checkperm.return
retstrnameprobe::signal.wakeup — Sleeping process being wakened for signal
signal.wakeup
resumestate_maskpid_namesig_pidprobe::signal.check_ignored — Checking to see signal is ignored
signal.check_ignored
sig_namesigpid_namesig_pidprobe::signal.check_ignored.return — Check to see signal is ignored completed
signal.check_ignored.return
retstrnameprobe::signal.force_segv — Forcing send of SIGSEGV
signal.force_segv
namesig_namesigpid_namesig_pidprobe::signal.force_segv.return — Forcing send of SIGSEGV complete
signal.force_segv.return
retstrnameprobe::signal.syskill — Sending kill signal to a process
signal.syskill
namesig_namesigpid_namesig_pidprobe::signal.syskill.return — Sending kill signal completed
signal.syskill.return
probe::signal.sys_tkill — Sending a kill signal to a thread
signal.sys_tkill
namesig_namesigpid_namesig_pidprobe::signal.systkill.return — Sending kill signal to a thread completed
signal.systkill.return
retstrnameprobe::signal.sys_tgkill — Sending kill signal to a thread group
signal.sys_tgkill
namesig_namesigtgidpid_namesig_pidprobe::signal.sys_tgkill.return — Sending kill signal to a thread group completed
signal.sys_tgkill.return
retstrnameprobe::signal.send_sig_queue — Queuing a signal to a process
signal.send_sig_queue
sigqueue_addrnamesig_namesigpid_namesig_pidprobe::signal.send_sig_queue.return — Queuing a signal to a process completed
signal.send_sig_queue.return
retstrnameprobe::signal.pending — Examining pending signal
signal.pending
namesigset_sizesigset_addprobe::signal.pending.return — Examination of pending signal completed
signal.pending.return
retstrnameprobe::signal.handle — Signal handler being invoked
signal.handle
regssig_codenamesig_modesinfosig_nameoldset_addrsigka_addrprobe::signal.handle.return — Signal handler invocation completed
signal.handle.return
retstrnameprobe::signal.do_action — Examining or changing a signal action
signal.do_action
sa_masknamesig_nameoldsigact_addrsigsa_handlersigact_addrprobe::signal.do_action.return — Examining or changing a signal action completed
signal.do_action.return
retstrnameprobe::signal.procmask — Examining or changing blocked signals
signal.procmask
hownameoldsigset_addrsigsetsigset_addrprobe::signal.procmask.return — Examining or changing blocked signals completed
signal.procmask.return
retstrnameprobe::signal.flush — Flushing all pending signals for a task
signal.flush
nametaskpid_namesig_pidfunction::d_name — get the dirent name
function d_name:string(dentry:long)
dentryfunction::reverse_path_walk — get the full dirent path
function reverse_path_walk:string(dentry:long)
dentryfunction::task_dentry_path — get the full dentry path
function task_dentry_path:string(task:long,dentry:long,vfsmnt:long)
taskdentryvfsmntfunction::d_path — get the full nameidata path
function d_path:string(nd:long)
ndfunction::log — Send a line to the common trace buffer.
function log(msg:string)
msgfunction::warn — Send a line to the warning stream.
function warn(msg:string)
msgfunction::exit — Start shutting down probing script.
function exit()
exit
function::error — Send an error message.
function error(msg:string)
msgexit.
function::ftrace — Send a message to the ftrace ring-buffer.
function ftrace(msg:string)
msgfunction::randint — Return a random number between [0,n)
function randint:long(n:long)
nfunction::kernel_string — Retrieves string from kernel memory.
function kernel_string:string(addr:long)
addrfunction::kernel_string2 — Retrieves string from kernel memory with alternative error string.
function kernel_string2:string(addr:long,err_msg:string)
addrerr_msgfunction::kernel_string_n — Retrieves string of given length from kernel memory.
function kernel_string_n:string(addr:long,n:long)
addrnfunction::kernel_long — Retrieves a long value stored in kernel memory.
function kernel_long:long(addr:long)
addrfunction::kernel_int — Retrieves an int value stored in kernel memory.
function kernel_int:long(addr:long)
addrfunction::kernel_short — Retrieves a short value stored in kernel memory.
function kernel_short:long(addr:long)
addrfunction::kernel_char — Retrieves a char value stored in kernel memory.
function kernel_char:long(addr:long)
addrfunction::kernel_pointer — Retrieves a pointer value stored in kernel memory.
function kernel_pointer:long(addr:long)
addrfunction::user_string — Retrieves string from user space.
function user_string:string(addr:long)
addrfunction::user_string2 — Retrieves string from user space with alternative error string.
function user_string2:string(addr:long,err_msg:string)
addrerr_msgfunction::user_string_warn — Retrieves string from user space.
function user_string_warn:string(addr:long)
addrfunction::user_string_quoted — Retrieves and quotes string from user space.
function user_string_quoted:string(addr:long)
addrfunction::user_string_n — Retrieves string of given length from user space.
function user_string_n:string(addr:long,n:long)
addrnfunction::user_string_n2 — Retrieves string of given length from user space.
function user_string_n2:string(addr:long,n:long,err_msg:string)
addrnerr_msgfunction::user_string_n_warn — Retrieves string from user space.
function user_string_n_warn:string(addr:long,n:long)
addrnfunction::user_string_n_quoted — Retrieves and quotes string from user space.
function user_string_n_quoted:string(addr:long,n:long)
addrnfunction::user_short — Retrieves a short value stored in user space.
function user_short:long(addr:long)
addrfunction::user_short_warn — Retrieves a short value stored in user space.
function user_short_warn:long(addr:long)
addrfunction::user_int — Retrieves an int value stored in user space.
function user_int:long(addr:long)
addrfunction::user_int_warn — Retrieves an int value stored in user space.
function user_int_warn:long(addr:long)
addrfunction::user_long — Retrieves a long value stored in user space.
function user_long:long(addr:long)
addrfunction::user_long_warn — Retrieves a long value stored in user space.
function user_long_warn:long(addr:long)
addrfunction::user_char — Retrieves a char value stored in user space.
function user_char:long(addr:long)
addrfunction::user_char_warn — Retrieves a char value stored in user space.
function user_char_warn:long(addr:long)
addrfunction::strlen — Returns the length of a string.
function strlen:long(s:string)
sfunction::substr — Returns a substring.
function substr:string(str:string,start:long,length:long)
strstartlengthfunction::stringat — Returns the char at a given position in the string.
function stringat:long(str:string,pos:long)
strposfunction::isinstr — Returns whether a string is a substring of another string.
function isinstr:long(s1:string,s2:string)
s1s2function::text_str — Escape any non-printable chars in a string.
function text_str:string(input:string)
inputfunction::text_strn — Escape any non-printable chars in a string.
function text_strn:string(input:string,len:long,quoted:long)
inputlenquotedfunction::tokenize — Return the next non-empty token in a string.
function tokenize:string(input:string,delim:string)
inputtokenize.
delimfunction::str_replace — str_replace Replaces all instances of a substring with another.
function str_replace:string(prnt_str:string,srch_str:string,rplc_str:string)
prnt_strsrch_strrplc_strfunction::strtol — strtol - Convert a string to a long.
function strtol:long(str:string,base:long)
strbasefunction::isdigit — Checks for a digit.
function isdigit:long(str:string)
strfunction::ansi_clear_screen — Move cursor to top left and clear screen.
function ansi_clear_screen()
ansi_clear_screen
function::ansi_set_color — Set the ansi Select Graphic Rendition mode.
function ansi_set_color(fg:long)
fgfunction::ansi_set_color2 — Set the ansi Select Graphic Rendition mode.
function ansi_set_color2(fg:long,bg:long)
fgbgfunction::ansi_set_color3 — Set the ansi Select Graphic Rendition mode.
function ansi_set_color3(fg:long,bg:long,attr:long)
fgbgattrfunction::ansi_reset_color — Resets Select Graphic Rendition mode.
function ansi_reset_color()
ansi_reset_color
function::ansi_new_line — Move cursor to new line.
function ansi_new_line()
ansi_new_line
function::ansi_cursor_move — Move cursor to new coordinates.
function ansi_cursor_move(x:long,y:long)
xyfunction::ansi_cursor_hide — Hides the cursor.
function ansi_cursor_hide()
ansi_cusor_hide
function::ansi_cursor_save — Saves the cursor position.
function ansi_cursor_save()
ansi_cursor_save
function::ansi_cursor_restore — Restores a previously saved cursor position.
function ansi_cursor_restore()
ansi_cursor_restore
ansi_cursor_save.
function::ansi_cursor_show — Shows the cursor.
function ansi_cursor_show()
ansi_cursor_show