Ruby supported versions
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:
- Automatic tracing of all requests. For more information, see Tracing - supported technologies for more details
- Cross host and cross-language tracing
- Supports OpenTracing
- Supports Instana Ruby Tracing SDK
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