tnf_kernel_probes - TNF kernel probes
The set of probes (trace instrumentation points) available in the standard kernel. The probes log trace data to a kernel trace buffer in Trace Normal Form (TNF). Kernel probes are controlled by prex(1). A snapshot of the kernel trace buffer can be made using tnfxtract(1) and examined using tnfdump(1).
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_probe_event tag tnf_time_delta time_delta
tag
tag
schedule
time_delta
tnf_kthread_id tid tnf_pid pid tnf_symbol start_pc
Thread creation event.
tid
pid
start_pc
tnf_kthread_id tid tnf_microstate state
Thread microstate transition events.
tid
state
Thread termination event for writing thread. This probe has no data members other than the common members.
tnf_kthread_id tid tnf_cpuid cpuid tnf_long priority tnf_ulong queue_length
Thread scheduling events. These are triggered when a runnable thread is placed on a dispatch queue.
cpuid
priority
queue_length
tnf_opaque reason tnf_symbols stack
Thread blockage event. This probe captures a partial stack backtrace when the current thread blocks.
reason
symbols
tnf_sysnum sysnum
System call entry event.
sysnum
tnf_long rval1 tnf_long rval2 tnf_long errno
System call exit event.
rval1 and rval2
errno
The writing thread implicitly enters the user microstate with this event.
tnf_opaque address tnf_fault_type fault_type tnf_seg_access access
Address-space fault event.
address
fault_type
access
tnf_opaque vnode tnf_offset 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.)
tnf_opaque address
Copy-on-write page fault event.
address
tnf_opaque address
Zero-fill page fault event.
address
tnf_opaque vnode tnf_offset offset
Page unmapping event. This probe marks the unmapping of a file system page from the system.
vnode and offset
tnf_opaque vnode tnf_offset offset tnf_size size
Pagein start event. This event signals the initiation of pagein I/O.
vnodeandoffset
size
tnf_opaque vnode tnf_ulong pages_pageout tnf_ulong pages_freed tnf_ulong pages_reclaimed
Pageout completion event. This event signals the completion of pageout I/O.
vnode
pages_pageout
pages_freed
pages_reclaimed
tnf_ulong pages_free tnf_ulong pages_needed
Page daemon scan start event. This event signals the beginning of one iteration of the page daemon.
pages_free
pages_needed
tnf_ulong pages_free tnf_ulong pages_scanned
Page daemon scan end event. This event signals the end of one iteration of the page daemon.
pages_free
pages_scanned
tnf_pid pid tnf_ulong page_count
Address space swapout event. This event marks the swapping out of a process address space.
pid
page_count
tnf_pid pid tnf_lwpid lwpid tnf_kthread_id tid tnf_ulong page_count
Light-weight process swapout event. This event marks the swapping out of an LWP and its stack.
pid
lwpid
tid member
page_count
tnf_pid pid tnf_lwpid lwpid tnf_kthread_id tid tnf_ulong page_count
Light-weight process swapin event. This event marks the swapping in of an LWP and its stack.
pid
lwpid
tid
page_count
tnf_device device tnf_diskaddr block tnf_size size tnf_opaque buf tnf_bioflags flags
Block I/O strategy event. This event marks a call to the strategy(9E) function of a block device driver.
device
block
size
buf
flags
tnf_device device tnf_diskaddr block tnf_opaque buf
Buffered I/O completion event. This event marks calls to the biodone(9F) function.
device
block
buf
tnf_device device tnf_offset offset tnf_size size tnf_bioflags rw
Raw I/O start event. This event marks entry into the physio(9F) fufnction which performs unbuffered I/O.
device
offset
size
rw
tnf_device device
Raw I/O end event. This event marks exit from the physio(9F) fufnction.
device
Use the prex utility to control kernel probes. The standard prex commands to list and manipulate probes are available to you, along with commands to set up and manage kernel tracing.
Kernel probes write trace records into a kernel trace buffer. You must copy the buffer into a TNF file for post-processing; use the tnfxtract utility for this.
You use the tnfdump utility to examine a kernel trace file. This is exactly the same as examining a user-level trace file.
The steps you typically follow to take a kernel trace are:
A convenient way to follow these steps is to use two shell windows; run an interactive prex session in one, and run your application and tnfxtract in the other.
prex(1), tnfdump(1), tnfxtract(1), libtnfctl(3TNF), TNF_PROBE(3TNF), tracing(3TNF), strategy(9E), biodone(9F), physio(9F), buf(9S)
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |