opentelemetry-ruby is a free, open source monitoring & observability project written in Ruby and released under Apache-2.0. It has 613 GitHub stars, 303 forks and 144 open issues, and was last pushed 15 hours ago. On this registry it ranks #255 of 270 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available. It gained 5 stars over the last 30 tracked days.

What is opentelemetry-ruby?

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

Slack channel GitHub Discussions CI Apache License OpenSSF Scorecard for opentelemetry-ruby-contrib FOSSA License Status FOSSA Security Status

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

contributors

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.

Frequently asked questions

Is opentelemetry-ruby free to use?

opentelemetry-ruby is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does opentelemetry-ruby do?

OpenTelemetry Ruby API & SDK, and related gems

What is opentelemetry-ruby written in?

opentelemetry-ruby is primarily written in Ruby. Its source is publicly available at https://github.com/open-telemetry/opentelemetry-ruby, and it has 613 GitHub stars.