Ruby Supported Versions
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
- Automatic tracing of all requests. Please see Tracing - supported technologies for more details
- Cross host and cross language tracing
- Supports OpenTracing
- Supports Instana Ruby Tracing SDK
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