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.
The source for all OpenTelemetry Ruby instrumentation gems is on github, along with related gems including opentelemetry-api
and opentelemetry-sdk
.
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 in GitHub Discussions 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.