OpenTelemetry Ruby is the vendor-neutral Ruby client for OpenTelemetry — an Apache-2.0 API and SDK that lets Ruby applications produce distributed traces, metrics and other telemetry — built for Ruby developers and platform teams who want observability data without committing to a single vendor's agent.
What it is
OpenTelemetry Ruby is the Ruby implementation of the OpenTelemetry specification, published as the OpenTelemetry API and SDK together with related gems. The repository holds the client library itself, while the companion opentelemetry-ruby-contrib repository holds the instrumentation libraries for popular Ruby gems, including Rails, Rack and Sinatra. Versioning follows the OpenTelemetry specification's versioning and stability document, which means experimental signals may carry a 0.x version number, and the project tracks compatibility with the currently supported versions of the Ruby language.
The problem it solves is vendor lock-in in application instrumentation. Teams that wire proprietary tracing or metrics agents directly into their Ruby code must rewrite that code whenever they change backends, and they cannot combine data from several backends in one place. OpenTelemetry Ruby replaces the bespoke, vendor-specific instrumentation client with a specification-driven API and SDK, so the telemetry a Rails or Rack service emits is defined by an open standard rather than by whichever monitoring product happens to be installed. Instrumentation ships separately in the contrib repository, which the README describes as a way to start using OpenTelemetry with minimal changes to an application.
Key capabilities
- Implements the OpenTelemetry API and SDK for Ruby, addressing the
opentelemetry-api and opentelemetry-ruby topic areas of the project.
- Covers distributed tracing, metrics and telemetry as first-class topics of the repository.
- Provides vendor-neutral instrumentation through the opentelemetry-ruby-contrib repository, which supplies libraries for Rails, Rack, Sinatra and other popular gems.
- Follows the OpenTelemetry specification's versioning and stability document, including the stated exception that experimental signals may use a
0.x version number.
- Maintains compatibility with the current supported versions of the Ruby language.
- Supports community contribution through
good first issue and help wanted tags, a CONTRIBUTING.md guide and a CI workflow (ci.yml).
- Carries OpenSSF Scorecard and FOSSA license and security status badges, alongside Apache License 2.0 terms in
LICENSE.
- Offers an SDK example linked from the README for reference implementations.
Who uses it and how
- Ruby application teams adding tracing and metrics to existing Rails, Rack or Sinatra services by pulling instrumentation from the contrib repository rather than hand-rolling instrumentation code.
- Platform and observability engineers who need a standard, specification-backed telemetry layer instead of a single vendor's Ruby agent.
- Contributors and newcomers guided by the
good first issue and help wanted tags, with environment setup and test instructions in CONTRIBUTING.md.
- The project is maintained by engineers from Google, Shopify, New Relic, Dash0 and Honeycomb, with approvers from Honeycomb and Solarwinds, which reflects adoption across commercial observability vendors rather than a single company.
- A Ruby special interest group (SIG) meets regularly, and support runs through a Slack channel and GitHub Discussions.
Getting started
The README directs new users to the Getting Started guide and, for framework instrumentation, to the opentelemetry-ruby-contrib repository, whose README covers the available instrumentation libraries. The README excerpt does not state a gem install command, a Docker image or a compose file, so those details come from the Getting Started link on the project homepage at opentelemetry.io.
How it compares
No comparable or competing tools are named in the supplied facts, so this project stands alone in this registry. It is the Ruby-language client for the OpenTelemetry specification, and the facts here provide no basis for contrasting it with other observability products.
When to use it — and when not to
Use it when the goal is standard, portable telemetry from Ruby services and the team is prepared to run its own telemetry pipeline, because this repository ships the API and SDK and not a hosted backend. Teams that want a fully managed agent with backend storage, dashboards and support bundled together should not pick it for that purpose alone. Honest limitations: the repository carries 144 open issues, the README excerpt is short and defers installation details to an external link, and experimental signals remain at 0.x versions under the project's own versioning policy — so teams needing long-term stability guarantees on every signal should verify maturity per signal before adopting.
project readme (upstream, from github) — read inline
OpenTelemetry Ruby

The Ruby OpenTelemetry client.
Contributing
We'd love your help! Use tags good first issue and
help wanted to get started with the project.
Please review the contribution instructions for important
information on setting up your environment, running the tests, and opening pull
requests.
The Ruby special interest group (SIG) meets regularly. See the OpenTelemetry
community page repo for information on this and other language SIGs.
Maintainers
For more information about the maintainer role, see the community repository.
Approvers
For more information about the approver role, see the community repository.
Emeritus
For more information about the emeritus role, see the
community repository.
Thanks to all the people who have contributed

Contrib Repository
The opentelemetry-ruby-contrib repository contains instrumentation libraries for many popular Ruby gems, including Rails, Rack, Sinatra, and others, so you can start using OpenTelemetry with minimal changes to your application. See the contrib README for more details.
Versioning
OpenTelemetry Ruby follows the versioning and stability document in the OpenTelemetry specification. Notably, we adhere to the outlined version numbering exception, which states that experimental signals may have a 0.x version number.
Compatibility
OpenTelemetry Ruby ensures compatibility with the current supported versions of
the Ruby language.
Useful links
- For more information on OpenTelemetry, visit:
- For help or feedback on this project, join us in GitHub Discussions.
- For more examples, check SDK example.
License
Apache 2.0 - See LICENSE for more information.