pub fn start_tracing(kind: TracingKind) {
    let tt = match kind {
        TracingKind::SoftwareTracing => todo!(),
        TracingKind::HardwareTracing => hwt::start_tracing(),
    };
    THREAD_TRACER.with(|tl| *tl.borrow_mut() = Some(tt));
}
/// Start tracing on the current thread using the specified tracing kind.
/// Each thread can have at most one active tracer; calling `start_tracing()` on a thread where
/// there is already an active tracer leads to undefined behaviour.
Start tracing on the current thread using the specified tracing kind.
Each thread can have at most one active tracer; calling `start_tracing()` on a thread where
there is already an active tracer leads to undefined behaviour.
Start tracing on the current thread using the specified tracing kind . Each thread can have at most one active tracer ; calling ` start_tracing () ` on a thread where there is already an active tracer leads to undefined behaviour .
pub fn start_tracing(kind: TracingKind) {
    let tt = match kind {
        TracingKind::SoftwareTracing => todo!(),
        TracingKind::HardwareTracing => hwt::start_tracing(),
    };
    THREAD_TRACER.with(|tl| *tl.borrow_mut() = Some(tt));
}
pub fn start_tracing ( kind : TracingKind ) { let tt = match kind { TracingKind :: SoftwareTracing => todo ! ( ) , TracingKind :: HardwareTracing => hwt :: start_tracing ( ) , } ; THREAD_TRACER . with ( | tl | * tl . borrow_mut ( ) = Some ( tt ) ) ; }
Start tracing on the current thread using the specified tracing kind.
Start tracing on the current thread using the specified tracing kind .
kind
TracingKind
kind
TracingKind