Edition 0
register
and u_register
in current context. setsockopt
setsockopt
sock_aio_write
sock_aio_write
sock_aio_read
sock_aio_read
socket_writev
socket_writev
sock_readv
sock_readv
Mono-spaced Bold
To see the contents of the filemy_next_bestselling_novel
in your current working directory, enter thecat my_next_bestselling_novel
command 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 includefilesystem
for file systems,file
for files, anddir
for directories. Each class has its own associated set of permissions.
Choose 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).→ → from the main menu bar to launchTo 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, typessh
at a shell prompt. If the remote machine isusername
@domain.name
example.com
and your username on that machine is john, typessh [email protected]
.Themount -o remount
command remounts the named file system. For example, to remount thefile-system
/home
file system, the command ismount -o remount /home
.To see the version of a currently installed package, use therpm -q
command. 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)
n
m
delim
function::cmdline_arg — Fetch a command line argument.
function cmdline_arg:string(n:long)
n
function::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)
name
function::print_stack — Print out kernel stack from string.
function print_stack(stk:string)
stk
backtrace
.
function::sprint_stack — Return stack for kernel addresses from string. EXPERIMENTAL!
function sprint_stack:string(stk:string)
stk
backtrace
.
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)
addr
function::symname — Return the kernel symbol associated with the given address.
function symname:string(addr:long)
addr
function::symdata — Return the kernel symbol and module offset for the address.
function symdata:string(addr:long)
addr
function::usymname — Return the symbol of an address in the current task. EXPERIMENTAL!
function usymname:string(addr:long)
addr
function::usymdata — Return the symbol and module offset of an address. EXPERIMENTAL!
function usymdata:string(addr:long)
addr
function::print_ustack — Print out stack for the current task from string. EXPERIMENTAL!
function print_ustack(stk:string)
stk
ubacktrace
for the current task.
function::sprint_ustack — Return stack for the current task from string. EXPERIMENTAL!
function sprint_ustack:string(stk:string)
stk
ubacktrace
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)
task
function::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)
task
function::task_state — The state of the task.
function task_state:long(task:long)
task
function::task_execname — The name of the task.
function task_execname:string(task:long)
task
function::task_pid — The process identifier of the task.
function task_pid:long(task:long)
task
function::pid2task — The task_struct of the given process identifier.
function pid2task:long(pid:long)
pid
function::pid2execname — The name of the given process identifier.
function pid2execname:string(pid:long)
pid
function::task_tid — The thread identifier of the task.
function task_tid:long(task:long)
task
function::task_gid — The group identifier of the task.
function task_gid:long(task:long)
task
function::task_egid — The effective group identifier of the task.
function task_egid:long(task:long)
task
function::task_uid — The user identifier of the task.
function task_uid:long(task:long)
task
function::task_euid — The effective user identifier of the task.
function task_euid:long(task:long)
task
function::task_prio — The priority value of the task.
function task_prio:long(task:long)
task
function::task_nice — The nice value of the task.
function task_nice:long(task:long)
task
function::task_cpu — The scheduled cpu of the task.
function task_cpu:long(task:long)
task
function::task_open_file_handles — The number of open files of the task.
function task_open_file_handles:long(task:long)
task
function::task_max_file_handles — The max number of open files for the task.
function task_max_file_handles:long(task:long)
task
function::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)
epochsecs
gettimeofday_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)
value
test
probe::vm.pagefault — Records that a page fault occurred.
vm.pagefault
write_access
name
address
probe::vm.pagefault.return — Indicates what type of fault occurred.
vm.pagefault.return
name
fault_type
function::addr_to_node — Returns which node a given address belongs to within a NUMA system.
function addr_to_node:long(addr:long)
addr
probe::vm.mmap — Fires when an mmap is requested.
vm.mmap
length
name
address
probe::vm.munmap — Fires when an munmap is requested.
vm.munmap
length
name
address
probe::vm.brk — Fires when a brk is requested (i.e. the heap will be resized).
vm.brk
length
name
address
probe::vm.oom_kill — Fires when a thread is selected for termination by the OOM killer.
vm.oom_kill
name
task
probe::vm.kmalloc — Fires when kmalloc is requested.
vm.kmalloc
ptr
caller_function
call_site
gfp_flag_name
name
bytes_req
bytes_alloc
gfp_flags
probe::vm.kmem_cache_alloc — Fires when \
vm.kmem_cache_alloc
ptr
caller_function
call_site
gfp_flag_name
name
bytes_req
bytes_alloc
gfp_flags
probe::vm.kmalloc_node — Fires when kmalloc_node is requested.
vm.kmalloc_node
ptr
caller_function
call_site
gfp_flag_name
name
bytes_req
bytes_alloc
gfp_flags
probe::vm.kmem_cache_alloc_node — Fires when \
vm.kmem_cache_alloc_node
ptr
caller_function
call_site
gfp_flag_name
name
bytes_req
bytes_alloc
gfp_flags
probe::vm.kfree — Fires when kfree is requested.
vm.kfree
ptr
caller_function
call_site
name
probe::vm.kmem_cache_free — Fires when \
vm.kmem_cache_free
ptr
caller_function
call_site
name
function::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)
pid
function::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)
pid
function::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)
pid
function::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)
pid
function::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)
pid
function::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)
bytes
function::pages_to_string — Turns pages into a human readable string
function pages_to_string:string(pages:long)
pages
page_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)
pid
function::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)
tid
function::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)
tid
function::cputime_to_msecs — Translates the given cputime into milliseconds
function cputime_to_msecs:long(cputime:long)
cputime
function::msecs_to_string — Human readable string for given milliseconds
function msecs_to_string:string(msecs:long)
msecs
function::cputime_to_string — Human readable string for given cputime
function cputime_to_string:string(cputime:long)
cputime
function::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)
tid
probe::ioscheduler.elv_next_request — Fires when a request is retrieved from the request queue
ioscheduler.elv_next_request
name
elevator_name
probe::ioscheduler.elv_next_request.return — Fires when a request retrieval issues a return signal
ioscheduler.elv_next_request.return
disk_major
rq
name
disk_minor
rq_flags
probe::ioscheduler.elv_completed_request — Fires when a request is completed
ioscheduler.elv_completed_request
disk_major
rq
name
elevator_name
disk_minor
rq_flags
probe::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_major
rq
q
name
elevator_name
disk_minor
rq_flags
probe::ioscheduler.elv_add_request.tp — tracepoint based probe to indicate a request is added to the request queue.
ioscheduler.elv_add_request.tp
disk_major
rq
q
name
elevator_name
disk_minor
rq_flags
probe::ioscheduler.elv_add_request — probe to indicate request is added to the request queue.
ioscheduler.elv_add_request
disk_major
rq
q
elevator_name
disk_minor
rq_flags
probe::ioscheduler_trace.elv_completed_request — Fires when a request is
ioscheduler_trace.elv_completed_request
disk_major
rq
name
elevator_name
disk_minor
rq_flags
probe::ioscheduler_trace.elv_issue_request — Fires when a request is
ioscheduler_trace.elv_issue_request
disk_major
rq
name
elevator_name
disk_minor
rq_flags
probe::ioscheduler_trace.elv_requeue_request — Fires when a request is
ioscheduler_trace.elv_requeue_request
disk_major
rq
name
elevator_name
disk_minor
rq_flags
probe::ioscheduler_trace.elv_abort_request — Fires when a request is aborted.
ioscheduler_trace.elv_abort_request
disk_major
rq
name
elevator_name
disk_minor
rq_flags
probe::ioscheduler_trace.plug — Fires when a request queue is plugged;
ioscheduler_trace.plug
name
rq_queue
probe::ioscheduler_trace.unplug_io — Fires when a request queue is unplugged;
ioscheduler_trace.unplug_io
name
rq_queue
probe::ioscheduler_trace.unplug_timer — Fires when unplug timer associated
ioscheduler_trace.unplug_timer
name
rq_queue
probe::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_major
device_state_str
device_state
req_addr
disk_minor
probe::scsi.iodispatching — SCSI mid-layer dispatched low-level SCSI command
scsi.iodispatching
device_state_str
dev_id
channel
data_direction
lun
request_bufflen
host_no
device_state
data_direction_str
req_addr
request_buffer
probe::scsi.iodone — SCSI command completed by low level driver and enqueued into the done queue.
scsi.iodone
device_state_str
dev_id
channel
data_direction
lun
host_no
data_direction_str
device_state
scsi_timer_pending
req_addr
probe::scsi.iocompleted — SCSI mid-layer running the completion processing for block device I/O requests
scsi.iocompleted
device_state_str
dev_id
channel
data_direction
lun
host_no
data_direction_str
device_state
req_addr
goodbytes
probe::scsi.ioexecute — Create mid-layer SCSI request and wait for the result
scsi.ioexecute
retries
device_state_str
dev_id
channel
data_direction
lun
timeout
request_bufflen
host_no
data_direction_str
device_state
request_buffer
probe::scsi.set_state — Order SCSI device state change
scsi.set_state
state_str
dev_id
channel
state
old_state_str
lun
old_state
host_no
probe::tty.open — Called when a tty is opened
tty.open
inode_state
file_name
file_mode
file_flags
inode_number
inode_flags
probe::tty.release — Called when the tty is closed
tty.release
inode_state
file_name
file_mode
file_flags
inode_number
inode_flags
probe::tty.resize — Called when a terminal resize happens
tty.resize
new_ypixel
old_col
old_xpixel
old_ypixel
name
old_row
new_row
new_xpixel
new_col
probe::tty.ioctl — called when a ioctl is request to the tty
tty.ioctl
cmd
arg
name
probe::tty.init — Called when a tty is being initalized
tty.init
driver_name
name
module
probe::tty.register — Called when a tty device is registred
tty.register
driver_name
name
index
module
probe::tty.unregister — Called when a tty device is being unregistered
tty.unregister
driver_name
name
index
module
probe::tty.poll — Called when a tty device is being polled
tty.poll
file_name
wait_key
probe::tty.receive — called when a tty receives a message
tty.receive
driver_name
count
name
fp
cp
index
id
probe::tty.write — write to the tty line
tty.write
driver_name
buffer
file_name
nr
probe::tty.read — called when a tty line will be read
tty.read
driver_name
buffer
file_name
nr
setsockopt
setsockopt
probe::netdev.receive — Data received from network device.
netdev.receive
protocol
dev_name
length
probe::netdev.transmit — Network device transmitting buffer
netdev.transmit
protocol
dev_name
length
truesize
probe::netdev.change_mtu — Called when the netdev MTU is changed
netdev.change_mtu
dev_name
new_mtu
old_mtu
probe::netdev.open — Called when the device is opened
netdev.open
dev_name
probe::netdev.close — Called when the device is closed
netdev.close
dev_name
probe::netdev.hard_transmit — Called when the devices is going to TX (hard)
netdev.hard_transmit
protocol
dev_name
length
truesize
probe::netdev.rx — Called when the device is going to receive a packet
netdev.rx
protocol
dev_name
probe::netdev.change_rx_flag — Called when the device RX flag will be changed
netdev.change_rx_flag
dev_name
flags
probe::netdev.set_promiscuity — Called when the device enters/leaves promiscuity
netdev.set_promiscuity
dev_name
enable
inc
disable
probe::netdev.ioctl — Called when the device suffers an IOCTL
netdev.ioctl
cmd
arg
probe::netdev.register — Called when the device is registered
netdev.register
dev_name
probe::netdev.unregister — Called when the device is being unregistered
netdev.unregister
dev_name
probe::netdev.get_stats — Called when someone asks the device statistics
netdev.get_stats
dev_name
probe::netdev.change_mac — Called when the netdev_name has the MAC changed
netdev.change_mac
dev_name
new_mac
mac_len
old_mac
probe::tcp.sendmsg — Sending a tcp message
tcp.sendmsg
name
size
sock
probe::tcp.sendmsg.return — Sending TCP message is done
tcp.sendmsg.return
name
size
probe::tcp.recvmsg — Receiving TCP message
tcp.recvmsg
saddr
daddr
name
sport
dport
size
sock
probe::tcp.recvmsg.return — Receiving TCP message complete
tcp.recvmsg.return
saddr
daddr
name
sport
dport
size
probe::tcp.disconnect — TCP socket disconnection
tcp.disconnect
saddr
daddr
flags
name
sport
dport
sock
probe::tcp.disconnect.return — TCP socket disconnection complete
tcp.disconnect.return
ret
name
probe::tcp.setsockopt — Call to setsockopt
tcp.setsockopt
optstr
level
optlen
setsockopt
name
optname
sock
probe::tcp.setsockopt.return — Return from setsockopt
tcp.setsockopt.return
ret
name
probe::tcp.receive — Called when a TCP packet is received
tcp.receive
urg
protocol
psh
name
rst
dport
saddr
daddr
ack
fin
syn
sport
iphdr
probe::udp.sendmsg — Fires whenever a process sends a UDP message
udp.sendmsg
name
size
sock
probe::udp.sendmsg.return — Fires whenever an attempt to send a UDP message is completed
udp.sendmsg.return
name
size
probe::udp.recvmsg — Fires whenever a UDP message is received
udp.recvmsg
name
size
sock
probe::udp.recvmsg.return — Fires whenever an attempt to receive a UDP message received is completed
udp.recvmsg.return
name
size
probe::udp.disconnect — Fires when a process requests for a UDP disconnection
udp.disconnect
flags
name
sock
probe::udp.disconnect.return — UDP has been disconnected successfully
udp.disconnect.return
ret
name
function::ip_ntop — returns a string representation from an integer IP number
function ip_ntop:string(addr:long)
addr
sock_aio_write
sock_aio_write
sock_aio_read
sock_aio_read
socket_writev
socket_writev
sock_readv
sock_readv
probe::socket.send — Message sent on a socket.
socket.send
success
protocol
flags
name
state
size
type
family
probe::socket.receive — Message received on a socket.
socket.receive
success
protocol
flags
name
state
size
type
family
probe::socket.sendmsg — Message is currently being sent on a socket.
socket.sendmsg
protocol
flags
name
state
size
type
family
sock_sendmsg
function
probe::socket.sendmsg.return — Return from socket.sendmsg.
socket.sendmsg.return
success
protocol
flags
name
state
size
type
family
sock_sendmsg
function
probe::socket.recvmsg — Message being received on socket
socket.recvmsg
protocol
flags
name
state
size
type
family
sock_recvmsg
function
probe::socket.recvmsg.return — Return from Message being received on socket
socket.recvmsg.return
success
protocol
flags
name
state
size
type
family
sock_recvmsg
function.
probe::socket.aio_write — Message send via sock_aio_write
socket.aio_write
protocol
flags
name
state
size
type
family
sock_aio_write
function
probe::socket.aio_write.return — Conclusion of message send via sock_aio_write
socket.aio_write.return
success
protocol
flags
name
state
size
type
family
sock_aio_write
function
probe::socket.aio_read — Receiving message via sock_aio_read
socket.aio_read
protocol
flags
name
state
size
type
family
sock_aio_read
function
probe::socket.aio_read.return — Conclusion of message received via sock_aio_read
socket.aio_read.return
success
protocol
flags
name
state
size
type
family
sock_aio_read
function
probe::socket.writev — Message sent via socket_writev
socket.writev
protocol
flags
name
state
size
type
family
sock_writev
function
probe::socket.writev.return — Conclusion of message sent via socket_writev
socket.writev.return
success
protocol
flags
name
state
size
type
family
sock_writev
function
probe::socket.readv — Receiving a message via sock_readv
socket.readv
protocol
flags
name
state
size
type
family
sock_readv
function
probe::socket.readv.return — Conclusion of receiving a message via sock_readv
socket.readv.return
success
protocol
flags
name
state
size
type
family
sock_readv
function
probe::socket.create — Creation of a socket
socket.create
protocol
name
requester
type
family
probe::socket.create.return — Return from Creation of a socket
socket.create.return
success
protocol
err
name
requester
type
family
probe::socket.close — Close a socket
socket.close
protocol
flags
name
state
type
family
probe::socket.close.return — Return from closing a socket
socket.close.return
name
function::sock_prot_num2str — Given a protocol number, return a string representation.
function sock_prot_num2str:string(proto:long)
proto
function::sock_prot_str2num — Given a protocol name (string), return the corresponding protocol number.
function sock_prot_str2num:long(proto:string)
proto
function::sock_fam_num2str — Given a protocol family number, return a string representation.
function sock_fam_num2str:string(family:long)
family
function::sock_fam_str2num — Given a protocol family name (string), return the corresponding
function sock_fam_str2num:long(family:string)
family
function::sock_state_num2str — Given a socket state number, return a string representation.
function sock_state_num2str:string(state:long)
state
function::sock_state_str2num — Given a socket state string, return the corresponding state number.
function sock_state_str2num:long(state:string)
state
probe::kprocess.create — Fires whenever a new process is successfully created
kprocess.create
new_pid
probe::kprocess.start — Starting new process
kprocess.start
probe::kprocess.exec — Attempt to exec to a new program
kprocess.exec
filename
probe::kprocess.exec_complete — Return from exec to a new program
kprocess.exec_complete
success
errno
probe::kprocess.exit — Exit from process
kprocess.exit
code
probe::kprocess.release — Process released
kprocess.release
pid
task
probe::signal.send — Signal being sent to a process
signal.send
send2queue
name
task
sinfo
si_code
sig_name
sig
shared
sig_pid
pid_name
probe::signal.send.return — Signal being sent to a process completed
signal.send.return
retstr
send2queue
name
shared
kill
.
probe::signal.checkperm — Check being performed on a sent signal
signal.checkperm
name
task
sinfo
si_code
sig_name
sig
pid_name
sig_pid
probe::signal.checkperm.return — Check performed on a sent signal completed
signal.checkperm.return
retstr
name
probe::signal.wakeup — Sleeping process being wakened for signal
signal.wakeup
resume
state_mask
pid_name
sig_pid
probe::signal.check_ignored — Checking to see signal is ignored
signal.check_ignored
sig_name
sig
pid_name
sig_pid
probe::signal.check_ignored.return — Check to see signal is ignored completed
signal.check_ignored.return
retstr
name
probe::signal.force_segv — Forcing send of SIGSEGV
signal.force_segv
name
sig_name
sig
pid_name
sig_pid
probe::signal.force_segv.return — Forcing send of SIGSEGV complete
signal.force_segv.return
retstr
name
probe::signal.syskill — Sending kill signal to a process
signal.syskill
name
sig_name
sig
pid_name
sig_pid
probe::signal.syskill.return — Sending kill signal completed
signal.syskill.return
probe::signal.sys_tkill — Sending a kill signal to a thread
signal.sys_tkill
name
sig_name
sig
pid_name
sig_pid
probe::signal.systkill.return — Sending kill signal to a thread completed
signal.systkill.return
retstr
name
probe::signal.sys_tgkill — Sending kill signal to a thread group
signal.sys_tgkill
name
sig_name
sig
tgid
pid_name
sig_pid
probe::signal.sys_tgkill.return — Sending kill signal to a thread group completed
signal.sys_tgkill.return
retstr
name
probe::signal.send_sig_queue — Queuing a signal to a process
signal.send_sig_queue
sigqueue_addr
name
sig_name
sig
pid_name
sig_pid
probe::signal.send_sig_queue.return — Queuing a signal to a process completed
signal.send_sig_queue.return
retstr
name
probe::signal.pending — Examining pending signal
signal.pending
name
sigset_size
sigset_add
probe::signal.pending.return — Examination of pending signal completed
signal.pending.return
retstr
name
probe::signal.handle — Signal handler being invoked
signal.handle
regs
sig_code
name
sig_mode
sinfo
sig_name
oldset_addr
sig
ka_addr
probe::signal.handle.return — Signal handler invocation completed
signal.handle.return
retstr
name
probe::signal.do_action — Examining or changing a signal action
signal.do_action
sa_mask
name
sig_name
oldsigact_addr
sig
sa_handler
sigact_addr
probe::signal.do_action.return — Examining or changing a signal action completed
signal.do_action.return
retstr
name
probe::signal.procmask — Examining or changing blocked signals
signal.procmask
how
name
oldsigset_addr
sigset
sigset_addr
probe::signal.procmask.return — Examining or changing blocked signals completed
signal.procmask.return
retstr
name
probe::signal.flush — Flushing all pending signals for a task
signal.flush
name
task
pid_name
sig_pid
function::d_name — get the dirent name
function d_name:string(dentry:long)
dentry
function::reverse_path_walk — get the full dirent path
function reverse_path_walk:string(dentry:long)
dentry
function::task_dentry_path — get the full dentry path
function task_dentry_path:string(task:long,dentry:long,vfsmnt:long)
task
dentry
vfsmnt
function::d_path — get the full nameidata path
function d_path:string(nd:long)
nd
function::log — Send a line to the common trace buffer.
function log(msg:string)
msg
function::warn — Send a line to the warning stream.
function warn(msg:string)
msg
function::exit — Start shutting down probing script.
function exit()
exit
function::error — Send an error message.
function error(msg:string)
msg
exit
.
function::ftrace — Send a message to the ftrace ring-buffer.
function ftrace(msg:string)
msg
function::randint — Return a random number between [0,n)
function randint:long(n:long)
n
function::kernel_string — Retrieves string from kernel memory.
function kernel_string:string(addr:long)
addr
function::kernel_string2 — Retrieves string from kernel memory with alternative error string.
function kernel_string2:string(addr:long,err_msg:string)
addr
err_msg
function::kernel_string_n — Retrieves string of given length from kernel memory.
function kernel_string_n:string(addr:long,n:long)
addr
n
function::kernel_long — Retrieves a long value stored in kernel memory.
function kernel_long:long(addr:long)
addr
function::kernel_int — Retrieves an int value stored in kernel memory.
function kernel_int:long(addr:long)
addr
function::kernel_short — Retrieves a short value stored in kernel memory.
function kernel_short:long(addr:long)
addr
function::kernel_char — Retrieves a char value stored in kernel memory.
function kernel_char:long(addr:long)
addr
function::kernel_pointer — Retrieves a pointer value stored in kernel memory.
function kernel_pointer:long(addr:long)
addr
function::user_string — Retrieves string from user space.
function user_string:string(addr:long)
addr
function::user_string2 — Retrieves string from user space with alternative error string.
function user_string2:string(addr:long,err_msg:string)
addr
err_msg
function::user_string_warn — Retrieves string from user space.
function user_string_warn:string(addr:long)
addr
function::user_string_quoted — Retrieves and quotes string from user space.
function user_string_quoted:string(addr:long)
addr
function::user_string_n — Retrieves string of given length from user space.
function user_string_n:string(addr:long,n:long)
addr
n
function::user_string_n2 — Retrieves string of given length from user space.
function user_string_n2:string(addr:long,n:long,err_msg:string)
addr
n
err_msg
function::user_string_n_warn — Retrieves string from user space.
function user_string_n_warn:string(addr:long,n:long)
addr
n
function::user_string_n_quoted — Retrieves and quotes string from user space.
function user_string_n_quoted:string(addr:long,n:long)
addr
n
function::user_short — Retrieves a short value stored in user space.
function user_short:long(addr:long)
addr
function::user_short_warn — Retrieves a short value stored in user space.
function user_short_warn:long(addr:long)
addr
function::user_int — Retrieves an int value stored in user space.
function user_int:long(addr:long)
addr
function::user_int_warn — Retrieves an int value stored in user space.
function user_int_warn:long(addr:long)
addr
function::user_long — Retrieves a long value stored in user space.
function user_long:long(addr:long)
addr
function::user_long_warn — Retrieves a long value stored in user space.
function user_long_warn:long(addr:long)
addr
function::user_char — Retrieves a char value stored in user space.
function user_char:long(addr:long)
addr
function::user_char_warn — Retrieves a char value stored in user space.
function user_char_warn:long(addr:long)
addr
function::strlen — Returns the length of a string.
function strlen:long(s:string)
s
function::substr — Returns a substring.
function substr:string(str:string,start:long,length:long)
str
start
length
function::stringat — Returns the char at a given position in the string.
function stringat:long(str:string,pos:long)
str
pos
function::isinstr — Returns whether a string is a substring of another string.
function isinstr:long(s1:string,s2:string)
s1
s2
function::text_str — Escape any non-printable chars in a string.
function text_str:string(input:string)
input
function::text_strn — Escape any non-printable chars in a string.
function text_strn:string(input:string,len:long,quoted:long)
input
len
quoted
function::tokenize — Return the next non-empty token in a string.
function tokenize:string(input:string,delim:string)
input
tokenize
.
delim
function::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_str
srch_str
rplc_str
function::strtol — strtol - Convert a string to a long.
function strtol:long(str:string,base:long)
str
base
function::isdigit — Checks for a digit.
function isdigit:long(str:string)
str
function::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)
fg
function::ansi_set_color2 — Set the ansi Select Graphic Rendition mode.
function ansi_set_color2(fg:long,bg:long)
fg
bg
function::ansi_set_color3 — Set the ansi Select Graphic Rendition mode.
function ansi_set_color3(fg:long,bg:long,attr:long)
fg
bg
attr
function::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)
x
y
function::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