OpenTelemetry Rage Instrumentation

The OpenTelemetry Rage instrumentation provides automatic observability for Rage, a fiber-based framework with Rails-compatible syntax.

This instrumentation enables comprehensive tracing and logging for Rage applications:

  • Creates spans for HTTP requests, WebSocket messages, SSE streams, event subscribers, and deferred tasks
  • Propagates OpenTelemetry context across fibers created via Fiber.schedule and deferred tasks
  • Enriches logs with trace and span IDs for correlated observability

How do I get started?

Add the required gems to your Gemfile:

bundle add opentelemetry-sdk opentelemetry-instrumentation-rage

Usage

To use the instrumentation, call use with the name of the instrumentation:

OpenTelemetry::SDK.configure do |c|
  c.use 'OpenTelemetry::Instrumentation::Rage'
end

Alternatively, you can also call use_all to install all the available instrumentation.

OpenTelemetry::SDK.configure do |c|
  c.use_all
end

Examples

Example usage can be seen in the ./example/trace_demonstration.ru file

License

The opentelemetry-instrumentation-rage gem is distributed under the Apache 2.0 license. See LICENSE for more information.