👀 Observability

Backend Observability#

Chroma is instrumented with OpenTelemetry hooks for observability.

Available Observability#

Chroma currently only exports OpenTelemetry traces. Traces allow a Chroma operator to understand how requests flow through the system and quickly identify bottlenecks.

Configuration#

Tracing is configured with four environment variables:

  • CHROMA_OTEL_COLLECTION_ENDPOINT: where to send observability data. Example: api.honeycomb.com.
  • CHROMA_OTEL_SERVICE_NAME: Service name for OTel traces. Default: chromadb.
  • CHROMA_OTEL_COLLECTION_HEADERS: Headers to use when sending observability data. Often used to send API and app keys. For example {"x-honeycomb-team": "abc"}.
  • CHROMA_OTEL_GRANULARITY: A value from the OpenTelemetryGranularity enum. Specifies how detailed tracing should be.

We also have dedicated observability guides for various deployments:

Client (SDK) Observability#

Several observability platforms offer built-in integrations for Chroma, allowing you to monitor your application's interactions with the Chroma server: