Ruby supported versions

Ruby Supported Components

To make sure that the Instana gem is compatible with your current setup, check the following support information sections. For more information about monitoring Ruby applications, see Monitoring Ruby.

Supported versions

The following table lists the Ruby versions that the Instana gem supports:

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

The following table lists the Ruby frameworks that the Instana gem supports:

Frameworks Support policy Versions Note
Cuba On demand >= 3.0.0 and <= 4.0.3
Rack 45 days >= 1.4.5 and <= 3.0.10
Rails 45 days >= 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 45 days >= 0.4.0 and <= 0.4.1 Rails::API has been merged into Rails 5.0.0
Rails LTS On demand >= 2.3 and <= 5.2
Roda 45 days >= 2.0.0 and <= 3.79.0
Sinatra 45 days >= 1.1.4 and <= 4.0.0

Supported clients and libraries

Trace continuity is not applicable to database and logging libraries.

The following table lists the Ruby client libraries that the Instana gem supports:

Client Support policy Versions Note
Excon 45 days >= 0.21.0 and <= 0.110.0
gRPC 45 days >= 1.0.1 and <= 1.62.0
Net::HTTP 0 day >= 2.1 and <= 3.3.0
Rest-Client 45 days >= 1.6.0 and <= 2.1.0
Sequel 45 days >= 5.60 and <= 5.85

The following table lists the Memcache library that the Instana gem supports:

Memcache Support policy Versions
Dalli 45 days >= 2.0.0 and <= 3.2.8

The following table lists the Ruby messaging and background job processing libraries that the Instana gem supports:

Messaging and background job processing Support policy Versions
Resque 45 days >= 1.22.0 and <= 2.6.0
Sidekiq 45 days >= 2.12.0 and <= 7.2.2

The following table lists the query language that the Instana gem supports:

Query languages Support policy Versions
GraphQL 45 days >= 1.8.8 and <= 2.3.0

Supported web servers

The Instana gem supports the following web servers:

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

Sensor data collection

The Instana gem gathers the following configuration and metrics data:

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

Tracing

You can enable the tracing for your Ruby applications.

Tracing Support

With Instana, you can enable the following tracing for your Ruby applications:

Tracing notes and limitations

Instana has the following limitations while tracing Ruby applications:

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