Tracer

Enum Tracer 

Source
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.

Trait Implementations§

Source§

impl Debug for Tracer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Tracer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromStr for Tracer

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

fn from_str(item: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl PartialEq for Tracer

Source§

fn eq(&self, other: &Tracer) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Tracer

Auto Trait Implementations§

§

impl Freeze for Tracer

§

impl RefUnwindSafe for Tracer

§

impl Send for Tracer

§

impl Sync for Tracer

§

impl Unpin for Tracer

§

impl UnwindSafe for Tracer

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.