Ruby Supported Versions

Ruby Supported Components

Supported versions

Ruby Versions Ruby sensor version
CRuby >= 2.1 and < 2.7 <= 1.209.4
CRuby >= 2.7 and <= 3.3 <= 1.213.3
CRuby >= 3.0 and <= 3.3 >= 1.214.0

Long-term support

The official LTS and end-of-life (EOL) timeline from Ruby is followed.

As soon as a Ruby version reaches its EOL date, at least one year and at most two years support is offered. Update your Ruby version regularly to avoid problems.

Supported frameworks

Frameworks Versions Note
Cuba >= 3.0.0 and <= 4.0.3
Rack >= 1.4.5 and <= 3.0.10
Rails >= 0.4.0 and <= 7.1.3.2 Instrumentation for the render partial method of the ActionController module and the ActionView module is supported.
Rails::API >= 0.4.0 and <= 0.4.1 Rails::API has been merged into Rails 5.0.0
Rails LTS >= 2.3 and <= 5.2
Roda >= 2.0.0 and <= 3.79.0
Sinatra >= 1.1.4 and <= 4.0.0

Supported clients and libraries

Trace continuity is not applicable to database and logging libraries.

Client Versions Note
Excon >= 0.21.0 and <= 0.110.0
gRPC >= 1.0.1 and <= 1.62.0
Net::HTTP >= 2.1 and <= 3.3.0
Rest-Client >= 1.6.0 and <= 2.1.0
Memcache Versions
Dalli >= 2.0.0 and <= 3.2.8
Messaging and background job processing Versions
Resque >= 1.22.0 and <= 2.6.0
Sidekiq >= 2.12.0 and <= 7.2.2
Query languages Versions
GraphQL >= 1.8.8 and <= 2.3.0

Supported web servers

  • Apache
  • Nginx
  • Passenger
  • Puma
  • Rhebok
  • Thin
  • Unicorn

Sensor data collection

Tracked configuration Metrics
Ruby Version Time Spent in GC
Runtime Arguments Memory Usage
Framework Heap Slots
Gem Bundle Threads

Tracing

Tracing Support

Tracing notes and limitations

Tracing with multiple tracers

It is not supported to trace a single Ruby application with Instana and a third-party tracer, for example, with New Relic tracer or OpenTelemetry at the same time.

Avoid activating conflicting gems

When you use the Instana AutoTrace WebHook or the Instana Ruby tracer, their dependency gems must be delivered for the instrumented application. The dependency gems are delivered after the application selects its own dependencies. Therefore, an overlap between the two dependency trees (that is, the Instana Ruby tracer and the Ruby application) might exist. The Instana tracer takes careful actions to avoid activating multiple versions of the same Ruby gem. The application must act responsibly by not activating all or randomly selected gems that are available to it so that it does not cause conflicts. As a result, you cannot use explicit activation methods and methods with activation side effects unconditionally.

The following methods can be used conditionally:

  • Gem::Specification.activate
  • Gem::Specification.activate_dependencies
  • Gem.activate_bin_path

See also