Skip to main content

Crate juncture_telemetry

Crate juncture_telemetry 

Source
Expand description

Langfuse-compatible observability engine for Juncture AI agents.

This crate provides a zero-dependency telemetry system that captures traces, observations (LLM calls, tool calls, spans), sessions, and metrics directly within the Juncture process. No external services (otel-collector, Jaeger, Prometheus) are required.

§Architecture

TelemetryCollector
  └── BatchWriter (async, non-blocking)
        └── TraceStore (SQLite / PostgreSQL)
              └── Web Viewer (Langfuse-compatible API)

§Quick Start

use juncture_telemetry::{TelemetryCollector, SqliteStore};
use std::sync::Arc;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let store = Arc::new(SqliteStore::new("telemetry.db").await?);
    let collector = TelemetryCollector::new(store);

    // ... run your graph with collector ...

    collector.flush().await?;
    Ok(())
}

Re-exports§

pub use batch_writer::BatchWriter;
pub use batch_writer::TelemetryItem;
pub use collector::TelemetryCollector;
pub use config::TelemetryConfig;
pub use config::TelemetryHandle;
pub use langfuse::LangfuseConfig;
pub use langfuse::LangfuseExporter;
pub use models::CaptureConfig;
pub use models::EnrichedSession;
pub use models::Id;
pub use models::ModelStats;
pub use models::Observation;
pub use models::ObservationLevel;
pub use models::ObservationType;
pub use models::Session;
pub use models::SummaryStats;
pub use models::TokenUsage;
pub use models::Trace;
pub use sqlite_store::SqliteStore;
pub use trace_store::DailyStats;
pub use trace_store::PaginatedResponse;
pub use trace_store::StoreError;
pub use trace_store::TraceQuery;
pub use trace_store::TraceStore;
pub use trace_store::TraceWithObservations;

Modules§

batch_writer
Async batch writer for telemetry data.
collector
Telemetry collector - main entry point for the observability engine.
config
Telemetry configuration builder and handle.
langfuse
Langfuse cloud exporter.
models
Data models for the Langfuse-compatible observability engine.
sqlite_store
SQLite-backed implementation of TraceStore.
trace_store
Storage trait and query types for telemetry data.

Functions§

init
Create a new telemetry configuration builder.