指标

编辑

Ruby 代理跟踪各种系统和应用程序指标。这些指标将定期发送到 APM 服务器,然后发送到 Elasticsearch。您可以通过设置 metrics_interval 来调整间隔。

这些指标将存储在 apm-* 索引中,并且 processor.event 属性设置为 metric

系统指标

编辑

注意: 目前,Ruby 代理的指标仅限于 Linux 系统。

system.cpu.total.norm.pct

编辑
  • 类型: 浮点数
  • 格式: 百分比

CPU 时间在非空闲和 IOWait 状态下的百分比,按核心数量进行标准化。

system.memory.total

编辑
  • 类型: 长整数
  • 格式: 字节

系统总内存(以字节为单位)。

system.memory.actual.free

编辑
  • 类型: 长整数
  • 格式: 字节

系统空闲内存(以字节为单位)。

system.process.cpu.total.norm.pct

编辑
  • 类型: 浮点数
  • 格式: 百分比

自上次事件以来进程消耗的 CPU 时间百分比。此值按 CPU 核心数进行标准化,范围从 0 到 100%。

system.process.memory.size

编辑
  • 类型: 长整数
  • 格式: 字节

进程使用的总虚拟内存。

system.process.memory.rss.bytes

编辑
  • 类型: 长整数
  • 格式: 字节

驻留集大小,即进程在主内存(RAM)中占用的内存量。

Ruby 指标

编辑

ruby.gc.count

编辑
  • 类型: 整数
  • 格式: 计数

自进程启动以来垃圾回收运行的次数。

ruby.threads

编辑
  • 类型: 整数
  • 格式: 计数

当前进程所属的线程数。

ruby.heap.slots.live

编辑
  • 类型: 整数
  • 格式: 槽位

当前处于活动状态的堆槽位数量。

注意: JRuby 目前不支持。

ruby.heap.slots.free

编辑
  • 类型: 整数
  • 格式: 槽位

当前空闲的堆槽位数量。

注意: JRuby 目前不支持。

ruby.heap.allocations.total

编辑
  • 类型: 整数
  • 格式: 对象

当前堆上分配的对象数量。

注意: JRuby 目前不支持。

ruby.gc.time

编辑
  • 类型: 浮点数
  • 格式:

垃圾回收总耗时。

注意: 您需要启用 Ruby 的 GC Profiler 才能报告此指标。您可以在应用程序启动时随时通过调用 GC::Profiler.enable 来启用它。

JVM 指标

编辑

使用 JRuby 时,可以使用以下指标。它们使用 ruby java API 通过 MXBean 收集指标。

jvm.memory.heap.used

编辑
  • 类型: 长整数
  • 格式: 字节

已用堆内存量(以字节为单位)。

jvm.memory.heap.committed

编辑
  • 类型: 长整数
  • 格式: 字节

Java 虚拟机已分配的堆内存量(以字节为单位)。Java 虚拟机保证可以使用此内存量。

jvm.memory.heap.max

编辑
  • 类型: 长整数
  • 格式: 字节

Java 虚拟机已分配的堆内存量(以字节为单位)。Java 虚拟机保证可以使用此内存量。

jvm.memory.non_heap.used

编辑
  • 类型: 长整数
  • 格式: 字节

已用非堆内存量(以字节为单位)。

jvm.memory.non_heap.committed

编辑
  • 类型: 长整数
  • 格式: 字节

Java 虚拟机已分配的非堆内存量(以字节为单位)。Java 虚拟机保证可以使用此内存量。

jvm.memory.non_heap.max

编辑
  • 类型: 长整数
  • 格式: 字节

可用于内存管理的最大非堆内存量(以字节为单位)。如果最大内存大小未定义,则值为 -1。

jvm.memory.heap.pool.used

编辑
  • 类型: 长整数
  • 格式: 字节

内存池的已用内存量(以字节为单位)。

jvm.memory.heap.pool.committed

编辑
  • 类型: 长整数
  • 格式: 字节

内存池已分配的内存量(以字节为单位)。此内存量为此特定池保证。

jvm.memory.heap.pool.max

编辑
  • 类型: 长整数
  • 格式: 字节

内存池可使用的最大内存量(以字节为单位)。