Ruby 支持的组件和版本

为确保 Instana gem 与您的当前环境兼容,请查阅以下支持信息部分。

有关监控 Ruby 应用程序的更多信息,请参阅《 监控 Ruby 》。

Ruby 支持的组件

Ruby 支持的版本

下表列出了 Instana gem 所支持的 Ruby 版本:

Ruby 版本 Ruby 传感器版本
克鲁比 >= 2.1 且 < 2.7 <= 1.209.4
克鲁比 >= 2.7 且 <= 3.3 <= 1.213.3
克鲁比 >= 3.0 且 <= 3.4 >= 1.217.1
克鲁比 >= 3.1 且 <= 4.0 <= 2.5.1
克鲁比 >= 3.2 且 <= 4.0 >= 2.6.0

长期支持

遵循 Ruby 上的官方长期支持(LTS)和生命周期结束(EOL)时间表。

注:
当 Ruby 的某个版本达到其生命周期结束(EOL)日期时, Instana 将提供为期一年的额外支持期。 为避免出现问题,请定期更新您的 Ruby 版本。

受支持的框架

下表列出了 Instana gem 所支持的 Ruby 框架:

框架 支持策略 版本
Cuba 按需 >= 3.0.0 且 <= 4.0.3
机架 45 天 >= 1.4.5 且 <= 3.2.6
Rails 45 天 >= 0.4.0 且 <= 8.1.3.1 支持对 ActionController 模块ActionView 模块renderPartial 方法进行仪表盘配置。
Rails:: API 45 天 >= 0.4.0 且 <= 0.4.1 Rails:: API 已合并 Rails 5.0.0
Rails LTS 按需 >= 2.3 且 <= 6.1
Roda 45 天 >= 2.0.0 且 <= 3.106.0
Sinatra 45 天 >= 1.1.4 且 <= 4.2.1

支持的客户端和库

注:
跟踪连续性不适用于数据库和日志记录库。

下表列出了 Instana gem 所支持的 Ruby 客户端库:

客户机 支持策略 版本
Excon 45 天 >= 0.21.0 且 <= 1.6.0
gRPC 45 天 >= 1.0.1 且 <= 1.83.0
Net::HTTP 0 天 >= 2.1 且 <= 0.9.1
REST-客户机 45 天 >= 1.6.0 且 <= 2.1.0
后续 45 天 >= 5.60 且 <= 5.107.0

下表列出了 Instana gem 所支持的 Memcache 库:

Memcache 支持策略 版本
Dalli 45 天 >= 2.0.0 且 <= 5.0.6

下表列出了 Instana gem所支持的 Ruby 消息传递和后台作业处理库:

消息传递和后台作业处理 支持策略 版本
Resque 45 天 >= 1.22.0 且 <= 3.0.0
Sidekiq 45 天 >= 2.12.0 且 <= 8.1.6
兔子 45 天 >= 2.23.0 且 <= 2.24.0

下表列出了 Instana gem支持的查询语言:

查询语言 支持策略 版本
GraphQL 45 天 >= 1.8.8 且 <= 2.6.7

受支持的 Web 服务器

Instana gem 支持以下 Web 服务器:

  • Apache
  • Nginx
  • 乘客
  • Puma
  • Rhebok
  • 薄型
  • Unicorn

传感器数据采集

Instana gem 会收集以下配置和指标数据:

跟踪的配置 度量
Ruby 版本 GC 耗用的时间
运行时自变量 内存使用率
框架 堆插槽数
Gem 束 线程

跟踪

您可以为您的 Ruby 应用程序启用跟踪功能。

追踪支持

使用 Instana ,您可以为您的 Ruby 应用程序启用以下跟踪功能:

追踪说明与限制

Instana 在跟踪 Ruby 应用程序时,存在以下限制:

使用多个追踪器进行追踪

不支持同时使用 Instana 和第三方跟踪工具(例如 New Relic 跟踪工具或 OpenTelemetry )来跟踪单个 Ruby 应用程序。

避免激活冲突的宝石

当您使用 Instana AutoTrace Webhook 或 Instana Ruby 追踪器时,必须为被监控的应用程序提供其依赖的 gem。 依赖关系宝石在应用程序选择其自己的依赖关系后交付。 因此,这两个依赖树(即 Instana Ruby 追踪器与 Ruby 应用程序)之间可能存在重叠。 Instana 追踪器会采取谨慎措施,以避免激活同一 Ruby gem 的多个版本。 应用程序必须负责任地采取行动,不激活可供其使用的所有或随机选择的宝石,以便不会导致冲突。 因此,不能无条件地使用具有激活副作用的显式激活方法和方法。

可以有条件地使用以下方法:

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