Each probe has a name and is associated with a set of symbolic keys, or categories. These are used to select and control probes from prex(1) . A probe that is enabled for tracing generates a TNF record, called an event record. An event record contains two common members and may contain other probe-specific data members.
tnf type name | member name |
tnf_probe_event | |
tnf_time_delta |
tnf_kthread_id | |
tnf_pid | |
tnf_symbol |
Thread creation event.
thread_state
tnf_kthread_id | |
tnf_microstate |
Thread microstate transition events.
- running in user mode
- running in system mode
- asleep waiting for a user-mode lock
- asleep on a kernel object,
- runnable (waiting for a cpu)
- stopped.
thread_exit
Thread termination event for writing thread. This probe has no data members other than the common members.
thread_queue
tnf_kthread_id | |
tnf_cpuid | |
tnf_long | |
tnf_ulong |
Thread scheduling events. These are triggered when a runnable thread is placed on a dispatch queue.
thread_block
tnf_opaque | |
tnf_symbols |
Thread blockage event. This probe captures a partial stack backtrace when the current thread blocks.
syscall_start
tnf_sysnum |
System call entry event.
syscall_end
tnf_long | |
tnf_long | |
tnf_long |
System call exit event.
The writing thread implicitly enters the user microstate with this event.
address_fault
tnf_opaque | |
tnf_fault_type | |
tnf_seg_access |
Address-space fault event.
The values for these two members are defined in <vm/seg_enum.h>.
major_fault
tnf_opaque | |
tnf_offset |
Major page fault event. The faulting page is mapped to the file given by the vnode member, at the given offset into the file. (The faulting virtual address is in the most recent address_fault event for the writing thread.)
anon_private
tnf_opaque |
Copy-on-write page fault event.
anon_zero
tnf_opaque |
Zero-fill page fault event.
page_unmap
tnf_opaque | |
tnf_offset |
Page unmapping event. This probe marks the unmapping of a file system page from the system.
pagein
tnf_opaque | |
tnf_offset | |
tnf_size |
Pagein start event. This event signals the initiation of pagein I/O.
pageout
tnf_opaque | |
tnf_ulong | |
tnf_ulong | |
tnf_ulong |
Pageout completion event. This event signals the completion of pageout I/O.
pageout_scan_start
tnf_ulong | |
tnf_ulong |
Page daemon scan start event. This event signals the beginning of one iteration of the page daemon.
pageout_scan_end
tnf_ulong | |
tnf_ulong |
Page daemon scan end event. This event signals the end of one iteration of the page daemon.
swapout_process
tnf_pid | |
tnf_ulong |
Address space swapout event. This event marks the swapping out of a process address space.
swapout_lwp
tnf_pid | |
tnf_lwpid | |
tnf_kthread_id | |
tnf_ulong |
Light-weight process swapout event. This event marks the swapping out of an LWP and its stack.
swapin_lwp
tnf_pid | |
tnf_lwpid | |
tnf_kthread_id | |
tnf_ulong |
Light-weight process swapin event. This event marks the swapping in of an LWP and its stack.
strategy
tnf_device | |
tnf_diskaddr | |
tnf_size | |
tnf_opaque | |
tnf_bioflags |
Block I/O strategy event. This event marks a call to the strategy(9E) routine of a block device driver.
biodone
tnf_device | |
tnf_diskaddr | |
tnf_opaque |
Buffered I/O completion event. This event marks calls to the biodone(9F) routine.
physio_start
tnf_device | |
tnf_offset | |
tnf_size | |
tnf_bioflags |
Raw I/O start event. This event marks entry into the physio(9F) routine which performs unbuffered I/O.
physio_end
tnf_device |
Raw I/O end event. This event marks exit from the physio(9F) routine.