About otel-ruby
otel-ruby is a reference skill for OpenTelemetry in Ruby applications, intended for developers who need task-specific guidance. Its self-contained references cover setup, telemetry APIs, instrumentation, performance, and upgrades, while distinguishing stable tracing from experimental metrics and logs.
Key features
- 01Task-specific, self-contained references
- 02Configure SDKs, OTLP exporters, and resources
- 03Create traces, metrics, and logs
- 04Choose and configure instrumentation libraries
- 05Review performance and compatibility guidance
Use cases
- 01Set up OpenTelemetry in a Ruby application
- 02Add manual telemetry and test emitted data
- 03Investigate sampling, batching, or process lifecycle issues
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ ollygarden/ opentelemetry-agent-skills --skill otel-rubyAfter installing, type/otel-rubyin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/api.mdbreaking-changes.mdinstrumentation-libraries.mdperformance.mdsetup.mdDetails
From the project READMEOpenTelemetry in Ruby
Entry point for OpenTelemetry mechanics in Ruby applications. Load only the reference that matches the task; each reference is self-contained.
References
| File | Use when |
|---|---|
references/setup.md | Installing gems, configuring OpenTelemetry::SDK.configure, selecting OTLP exporters, setting resources and environment variables, and handling process shutdown. |
references/api.md | Writing manual traces, metrics, or logs; managing context and propagation; testing emitted telemetry. |
references/instrumentation-libraries.md | Selecting and configuring contrib instrumentation for Rails, Rack, Sinatra, HTTP clients, databases, jobs, messaging, and other gems. |
references/performance.md | Tuning sampling, batching, cardinality, forked-process behavior, exporters, and lifecycle handling. |
references/breaking-changes.md | Reviewing Ruby/runtime compatibility, independently versioned gems, experimental signal changes, and core/contrib upgrades. |
Signal stability matters
Tracing uses the stable opentelemetry-api and opentelemetry-sdk gems. Ruby metrics and logs are
separate 0.x API, SDK, and exporter gems and remain experimental. Do not assume a tracing gem's
version exists for metrics, logs, semantic conventions, exporters, or contrib instrumentation.
Resolve each gem independently with Bundler, inspect its changelog, and keep the resulting
Gemfile.lock change under review.
Released snapshot verified 2026-10-25: tracing API 1.11.1, tracing SDK 1.13.1, trace OTLP
exporter 0.37.0; metrics API 0.10.0, SDK 0.22.0, OTLP exporter 0.15.0; logs API 0.7.0, SDK
0.8.1, OTLP exporter 0.7.0; experimental declarative-config gem opentelemetry-config 0.2.0
(targets schema v1.0.0-rc.3; owner: the
otel-declarative-config parsers table). Treat this as an audit anchor, not
a version-alignment rule; use the lookups below for newer releases.
Sources of truth
| Fact | Fetch |
|---|---|
| Latest core releases and per-gem tags | gh api repos/open-telemetry/opentelemetry-ruby/releases --paginate |
| Latest contrib instrumentation releases | gh api repos/open-telemetry/opentelemetry-ruby-contrib/releases --paginate |
| Released and locked gem dependencies | gem specification <gem> dependencies --remote --yaml; inspect Gemfile.lock for the locked dependency set |
| Core implementation and changelogs | open-telemetry/opentelemetry-ruby |
| Contrib catalog, compatibility, and per-gem options | open-telemetry/opentelemetry-ruby-contrib |
| Ruby language docs | OpenTelemetry Ruby documentation |
Cross-references
- SDK version selection across languages:
otel-sdk-versionsskill. - Semantic convention names and stability:
otel-semantic-conventionsskill. - OTLP receiver/export validation:
otel-collectorandotel-telemetrygenskills.