Skip to main content

Track Metrics in Traces

Track trace-level metrics like tool call counts, costs, and evaluation scores.
const trace = logger.trace({
    id: "trace-id",
    name: "customer-query-processing",
});

// Track metrics
trace.addMetric('tool_calls_count', 3);
trace.addMetric('cost_usd', 0.05);
trace.addMetric('tokens_total', 1420);
trace.addMetric('user_feedback_score', 4.7);

Track Metrics in Generations

Track generation quality metrics, token accounting, and streaming characteristics for LLM calls.
// Create generation object
const generation = trace.generation({
    id: "generation-id",
    name: "customer-support--gather-information",
    // Additional fields
});

// Track metrics
generation.addMetric('tokens_in', 312);
generation.addMetric('tokens_out', 87);
generation.addMetric('output_tokens', 87);
generation.addMetric('ttft_ms', 180.5);
generation.addMetric('tps', 15.8);
generation.addMetric('avg_logprob', -0.32);
Learn how to track complete LLM flows in the LLM logging guide.

Track Metrics in Retrievals

Track RAG evaluation metrics like precision, recall, MRR, and NDCG for retrieval operations.
const retrieval = trace.retrieval({
    id: "retrieval-id",
    name: "knowledge-base-search",
});

// Track metrics
retrieval.addMetric('precision', 0.82);
retrieval.addMetric('recall', 0.76);
retrieval.addMetric('mrr', 0.61);
retrieval.addMetric('results_count', 10);
Explore more on retrieval tracking in the Retrieval logging guide.

Track Metrics in Sessions

Track session-level aggregates like trace counts and message counts.
const session = logger.session({
    id: "session-id",
    name: "user-conversation",
});

// Track metrics
session.addMetric('traces_count', 4);
session.addMetric('user_messages_count', 2);
session.addMetric('assistant_messages_count', 2);
Metrics