Skip to main content

Telemetry

Alexandria exports traces, metrics, and logs via OTLP HTTP (port 4318) when an endpoint is configured. Zero overhead when disabled.

Enable

alexandria config set otel.endpoint "http://localhost:4318"

Optional: change service name or sampling rate.

alexandria config set otel.service_name "my-alexandria"
alexandria config set otel.sample_rate "0.5" # sample 50% of traces

Check status:

alexandria telemetry status

Run the Collector

Download otelcol-contrib and run with the bundled template:

otelcol --config config/otelcol.yaml

The default config exports to stdout (debug mode). Uncomment the relevant exporter block in config/otelcol.yaml (in the source tree) for your backend:

  • Jaegerotlp/jaeger
  • Grafana Tempootlp/tempo
  • Prometheusprometheusremotewrite
  • Datadogdatadog

Signals

SignalWhat's captured
TracesOne span per query, LLM completion, and tool invocation
Metricsquery.count, query.duration_ms, llm.duration_ms, tool.duration_ms, tool.cache_hits, tool.cache_misses
LogsAll info/warn/error events correlated with trace context

All metrics carry a backend.name or tool.name attribute for filtering.