1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! renacer-core: Zero-dependency tracing primitives
//!
//! Extracted from renacer to break the renacer→aprender→realizr→renacer
//! circular dependency (PMAT-284). This crate provides:
//!
//! - [`SpanRecord`] — Parquet-compatible span schema (W3C Trace Context)
//! - [`LazySpan`] — Deferred span construction (zero overhead when unused)
//! - [`SpanPool`] — Memory pool for span allocations
//! - [`TraceContext`] / [`LamportClock`] — W3C trace context + causal ordering
//!
//! # 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
//!
//! ```ignore
//! 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
//! ```
pub use LazySpan;
pub use PhaseTimer;
pub use SpanPool;
pub use ;
pub use ;