Skip to content

Telemetry

Goose is a Rust CLI built on opentelemetry-rust, so it reads the standard OTEL_* environment directly and needs no plugin. It has no way to accept an inbound trace context, so its spans form their own trace, correlated to the run by resource attribute rather than nested under it.

Nothing here is enabled unless the deployment already exports telemetry — see Observability for the OTEL_EXPORTER_OTLP_ENDPOINT master switch that gates it.

SignalExported
TracesYes — LLM calls, tool executions, and agent decisions
MetricsYes
LogsYes

Goose’s documentation does not enumerate the signals precisely; the exporters for all three are configurable and a run sets all three.

A run sets these on the container before the session:

VariableValue
OTEL_EXPORTER_OTLP_ENDPOINTthe collector, as a base URL
OTEL_EXPORTER_OTLP_PROTOCOLhttp/protobuf
OTEL_TRACES_EXPORTERotlp
OTEL_METRICS_EXPORTERotlp
OTEL_LOGS_EXPORTERotlp
OTEL_SERVICE_NAMEtcab-harness-goose
OTEL_RESOURCE_ATTRIBUTEStcab.* for the run

There is no separate enable switch: setting the endpoint is what turns export on. The only kill switch Goose documents is OTEL_SDK_DISABLED=true.

Goose can also be configured from ~/.config/goose/config.yaml, via otel_exporter_otlp_endpoint and otel_exporter_otlp_timeout. A run uses the environment instead, since it overrides the file and needs no file to be written.

Goose documents no inbound trace-context configuration. Standard OpenTelemetry SDKs do not read TRACEPARENT from the process environment — that is a convention some tools implement, not part of the W3C specification, which concerns HTTP headers — so absent explicit support Goose starts a fresh trace.

To find the Goose trace for a run, query on the resource attributes every exporting harness carries — tcab.harness, tcab.test_case, tcab.variant, and tcab.model — or correlate by timestamp against the run’s own spans.


See Observability for the collector the run exports to and the switch that gates all of this, and Overview for how Goose is installed and invoked.