OpenTelemetry is an open source observability framework, providing a general-purpose API, SDK, and related tools required for the instrumentation of cloud-native software, frameworks, and libraries.
Instrumentation libraries provide pre-built OpenTelemetry instrumentation for popular libraries: Examples include Rails, Rack, Sinatra, and others. This way you can start using OpenTelemetry with minimal changes to your application.
Released instrumentations can be found at the OpenTelemetry registry. You can also look in this project's Github repository: Individual instrumentation libraries can be found in subdirectories under /instrumentation
.
In-progress instrumentations can be found here.
To get started with a single instrumentation library, for example opentelemetry-instrumentation-rack
:
gem install opentelemetry-instrumentation-rack
OpenTelemetry::SDK.configure do |c|
c.use 'OpenTelemetry::Instrumentation::Rack'
end
Instrumentation-specific documentation can be found in each subdirectory's README.md
.
You also have the option of installing all of the instrumentation libraries by installing opentelemetry-instrumentation-all
. See that gem's README for more.
We are a community of volunteers who do our best to provide our users with up to date support for instrumentations, however we have limited capacity and are unable to support compatibility with EOL or unmaintained libraries.
Should you need to instrument an older version of a library you will have to ensure to pin to an instrumentation version that is compatible with that library.
Please review the individual instrumentation READMEs for more information about version compatibility.
The source for all OpenTelemetry Ruby instrumentation gems is on github.
If you are interested in helping out with an instrumentation, you can see instrumentations that have been requested but are not currently in-progress here.
The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our GitHub Discussions, Slack Channel or attending our weekly meeting. See the meeting calendar for dates and times. For more information on this and other language SIGs, see the OpenTelemetry community page.
All OpenTelemetry Ruby instrumentation gems are distributed under the Apache 2.0 license. See LICENSE for more information.