指标
编辑指标
编辑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
编辑- 类型: 长整数
- 格式: 字节
内存池可使用的最大内存量(以字节为单位)。