Configuration
Set these environment variables before launching Droid:How it works
- When
OTEL_TELEMETRY_ENDPOINTis set, metrics are sent to your endpoint in the same export cycle via a fan-out exporter — no extra timers, no duplication of metric readers. - Failures to your collector do not affect Factory’s own export. Each endpoint is isolated.
- Metrics use delta temporality — each export contains only new values since the last flush (60-second intervals).
Exported metrics
All metrics use thedroid.* namespace.
Common attributes
Every data point includes these attributes automatically:
Tool-specific attributes (
tool.name, mcp.server, skill.name, etc.) are included where applicable. Resource attributes include service.name (cli) and service.version.
Message content logging
By default, telemetry export includes only metrics — the text of prompts, model responses, and tool I/O is not exported. Metrics fan out to both Factory and your collector (see above); message content does not. To capture message content (for example, for session auditing), set:/v1/traces path of your endpoint), covering:
- User messages (
droid.message.user) - Assistant responses (
droid.message.assistant) - Tool calls and their inputs (
droid.tool.call) - Tool results (
droid.tool.result)
Message content is sent only to the collector you configure and never reaches Factory. Unlike metrics, content spans are routed exclusively to your
OTEL_TELEMETRY_ENDPOINT; Factory’s collector is never a destination for message content.- A customer endpoint (
OTEL_TELEMETRY_ENDPOINT) is required. If none is set, content is dropped rather than sent to Factory. - If your endpoint resolves to the same URL as Factory’s collector, content logging is automatically disabled.
- Metrics export is unaffected and continues to fan out to both Factory and your collector.
Example configurations
Generic OTEL Collector / Grafana Alloy
Generic OTEL Collector / Grafana Alloy
Datadog (via Agent OTLP ingestion)
Datadog (via Agent OTLP ingestion)
Datadog (direct OTLP intake)
Datadog (direct OTLP intake)
New Relic
New Relic
Honeycomb
Honeycomb
Troubleshooting
- Verify your collector accepts OTLP HTTP on the
/v1/metricspath. - Confirm
OTEL_TELEMETRY_HEADERSincludes valid auth credentials. - Ensure network connectivity from the machine running Droid to your collector.
