pub enum Tracer {
Show 13 variants
Function,
FunctionGraph,
Block,
HardwareLatency,
IRQsOff,
PreemptOff,
PreemptIRQsOff,
Wakeup,
WakeupRealtime,
WakeupDeadline,
MMIOTrace,
Branch,
Nop,
}Variants§
Function
Function call tracer to trace all kernel functions.
FunctionGraph
Similar to the function tracer except that the function tracer probes the functions on their entry whereas the function graph tracer traces on both entry and exit of the functions. It then provides the ability to draw a graph of function calls similar to C code source.
Block
The block tracer. The tracer used by the blktrace user application.
HardwareLatency
The Hardware Latency tracer is used to detect if the hardware produces any latency. See “Hardware Latency Detector” section below.
IRQsOff
Traces the areas that disable interrupts and saves the trace with the longest max latency. See tracing_max_latency. When a new max is recorded, it replaces the old trace. It is best to view this trace with the latency-format option enabled, which happens automatically when the tracer is selected.
PreemptOff
Similar to irqsoff but traces and records the amount of time for which preemption is disabled.
PreemptIRQsOff
Similar to irqsoff and preemptoff, but traces and records the largest time for which irqs and/or preemption is disabled.
Wakeup
Traces and records the max latency that it takes for the highest priority task to get scheduled after it has been woken up. Traces all tasks as an average developer would expect.
WakeupRealtime
Traces and records the max latency that it takes for just RT tasks (as the current “wakeup” does). This is useful for those interested in wake up timings of RT tasks.
WakeupDeadline
Traces and records the max latency that it takes for a SCHED_DEADLINE task to be woken (as the “wakeup” and “wakeup_rt” does).
MMIOTrace
A special tracer that is used to trace binary module. It will trace all the calls that a module makes to the hardware. Everything it writes and reads from the I/O as well.
Branch
This tracer can be configured when tracing likely/unlikely calls within the kernel. It will trace when a likely and unlikely branch is hit and if it was correct in its prediction of being correct.
Nop
This is the “trace nothing” tracer. To remove all tracers from tracing simply echo “nop” into current_tracer.