Skip to main content

Module tracing

Module tracing 

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

TracingBackend
Backend for persisting/processing trace spans.