Set up local Sourcegraph OpenTelemetry development
General OpenTelemetry export configuration is done via environment variables according to the official configuration options specification.
Collector
sg start otel
runs otel-collector
and jaeger
, and configures otel-collector
to forward traces to Jaeger.
Additional configuration can be provided to export to different destinations—for example, to configure a simple Honeycomb exporter, add the following to your sg.config.overwrite.yaml
:
commands: otel-collector: env: CONFIGURATION_FILE: 'configs/honeycomb.yaml' HONEYCOMB_API_KEY: '...'
To learn more, see docker-images/opentelemetry-collector
.
Configuration
Set dev-private
site config to use "observability.tracing": { "type": "opentelemetry" }
to enable OpenTelemetry export for most services—this should be set by default in the latest versions of dev-private
.
Testing
Use sg start
to start services, and run a complex query with &trace=1
, e.g. foobar(...) patterntype:structural
—this will show the View trace
button in the search results.
When using different backends, you can use "urlTemplate"
in "observability.tracing"
to configure the link.