Trace · Chroma
Chroma logo

Trace Chroma

Vector Databases

Auto-instrument Chroma with traceAI in under 3 minutes. Every LLM call, tool use, retrieval, and chain step becomes an OpenTelemetry span you can search, replay, and debug.

python typescript java · trace evaluate

Prerequisites

Before you start

  • · A working Chroma app — local or already in production.
  • · A free Future AGI account with FI_API_KEY and FI_SECRET_KEY.
  • · Python 3.9+ / Node 18+ / Java 17+ depending on which SDK you're installing.

Install

pip install traceAI-chromadb

Trace recipe

from fi_instrumentation import register
from fi_instrumentation.fi_types import ProjectType
from traceai_chromadb import ChromaDBInstrumentor

trace_provider = register(
    project_type=ProjectType.OBSERVE,
    project_name="CHROMADB_APP",
)

ChromaDBInstrumentor().instrument(tracer_provider=trace_provider)

# Your existing Chroma code runs unchanged from here.
# Every call is now an OpenTelemetry span in Future AGI.

What Future AGI captures

Trace fields you'll see in the dashboard

  • Spans for every Chroma call: input, output, latency, tokens, cost, model name, errors

  • Trace tree across LLM, tool, retrieval, embedding, and chain spans

  • Custom attributes via `using_attributes` (session_id, user_id, prompt_template, tags, custom dicts)

  • Streaming-safe — partial chunks aggregated into a single span

Common gotchas

Read these before you ship

  1. 01

    Set `FI_API_KEY` and `FI_SECRET_KEY` in env before calling `register()` — silent fallback otherwise.

  2. 02

    Async frameworks: instantiate the instrumentor *before* you create the client, not after.

  3. 03

    Streaming responses are aggregated into a single span only when you use the official SDK iterator.

Next: chain it with the other recipes

Trace is the first step. Most teams add an evaluator the same week, and start optimising or simulating once they have a baseline. Each recipe takes minutes to wire up.