Skip to main content

Crate renacer_core

Crate renacer_core 

Source
Expand description

renacer-core: Zero-dependency tracing primitives

Extracted from renacer to break the renacer→aprender→realizr→renacer circular dependency (PMAT-284). This crate provides:

§Design

This crate has NO dependencies on aprender, realizr, or trueno. It can be used by any crate in the stack for uniform instrumentation.

§Usage in realizr

use renacer_core::LazySpan;

let span = LazySpan::new()
    .with_name_static("decode_step")
    .with_attribute_static("m", state.m.to_string())
    .timed();  // starts timing
// ... GPU work ...
span.finish(); // records duration

Re-exports§

pub use lazy_span::LazySpan;
pub use phase_timer::PhaseTimer;
pub use span_pool::SpanPool;
pub use span_record::SpanKind;
pub use span_record::SpanRecord;
pub use span_record::StatusCode;
pub use trace_context::LamportClock;
pub use trace_context::TraceContext;

Modules§

lazy_span
phase_timer
PMAT-284: Lightweight sub-phase timing for CPU-GPU pipelining analysis
span_pool
span_record
Parquet-compatible span record schema (Sprint 40 - Golden Thread Core)
trace_context

Macros§

lazy_span
Convenience macro for creating lazy spans with zero-copy