Expand description
Agent observability / deep tracing system
Structured tracing with parent-child span trees, RAII span guards, and pluggable backends (in-memory, console, OpenTelemetry).
§Quick Start
ⓘ
use lc_callbacks::tracing::{
Tracer, InMemoryTracingBackend, SpanKind,
};
use std::sync::Arc;
let backend = Arc::new(InMemoryTracingBackend::new());
let tracer = Arc::new(Tracer::new(backend.clone()));
// Start a root span
let root = tracer.start("my_chain", SpanKind::Chain);
// Start a child span (inherits parent from tracer context)
let llm = tracer.start_child("llm_call", SpanKind::Llm);
drop(llm); // ends the child span
drop(root); // ends the root span
// Inspect recorded spans
let spans = backend.spans();Re-exports§
pub use backend::ConsoleTracingBackend;pub use backend::InMemoryTracingBackend;pub use span::aggregate_cost;pub use span::SpanId;pub use span::SpanKind;pub use span::SpanStatus;pub use span::SpanTokenUsage;pub use span::TraceNode;pub use span::TraceSpan;pub use tracer::clear_span_stack;pub use tracer::init_task_span_stack;pub use tracer::SpanGuard;pub use tracer::Tracer;
Modules§
- backend
- Backend implementations for persisting/processing trace spans.
- span
- Span types and the span tree.
- tracer
- The tracer, span guards, and span-stack helpers.
Traits§
- Tracing
Backend - Backend for persisting/processing trace spans.