Last updated: August 7, 2026
Dash0 OpenTelemetry Ruby Distribution
Note: This page is auto-generated from the opentelemetry-ruby-distribution repository.
The Dash0 OpenTelemetry Ruby Distribution is an opinionated, zero-code OpenTelemetry distribution published as the dash0-opentelemetry gem.
It bundles the full set of upstream OpenTelemetry Ruby instrumentation libraries, configures sensible defaults for exporting to Dash0, and adds Dash0-specific resource detectors.
No code changes are required in the instrumented application.
How it works
The distribution is loaded at interpreter startup via the RUBYOPT environment variable:
1RUBYOPT="-r dash0-opentelemetry" ruby your_app.rb
Everything runs as a side effect of requiring the gem — there is no API to call.
The distribution configures the OpenTelemetry SDK, installs all supported instrumentations lazily (via a TracePoint), and begins exporting traces, metrics, and logs to the Dash0 collector.
Key properties
- Zero-code instrumentation. No
Gemfilechanges, no initializer, noSDK.configurecall. - Full instrumentation coverage. All libraries in
opentelemetry-instrumentation-allactivate automatically as their target gems load. - OTLP/HTTP export. Traces, metrics, and logs are exported over HTTP/protobuf to
${DASH0_OTEL_COLLECTOR_BASE_URL}/v1/{traces,metrics,logs}. - Bundler-independent. The distribution ships its own gem bundle and can be injected without modifying the application's
GemfileorGemfile.lock. - Fail-open. On an unsupported Ruby version, or if the distribution itself encounters an error, it stands down cleanly without interfering with the application.
- Standard
OTEL_*variables honored. The distribution uses the upstream SDK and exporters, so all standard OpenTelemetry environment variables work as documented.
Intended use
The distribution is primarily intended to be injected into Ruby workloads by the Dash0 Kubernetes operator, which sets RUBYOPT and the required environment variables without any application changes.
It can also be used directly — see Getting started.
Requirements
Ruby 3.3 or later is required. On an older Ruby the distribution logs a message and exits without affecting the application.