指标

编辑

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

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

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.rss.bytes

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

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

nodejs.handles.active

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

活动 libuv 句柄的数量,可能是当前正在运行的 I/O 操作持有的。

nodejs.requests.active

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

活动 libuv 请求的数量,可能是正在等待 I/O 操作响应的。

system.process.cpu.user.norm.pct

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

执行应用程序代码所花费的 CPU 周期数。

system.process.cpu.system.norm.pct

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

由于应用程序活动而执行内核代码所花费的 CPU 周期数。

nodejs.eventloop.delay.avg.ms

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

事件循环延迟的毫秒数。事件循环延迟每 10 毫秒采样一次。例如,如果阻塞操作在同一采样周期内开始和结束,则可能无法观察到小于 10 毫秒的延迟。

nodejs.memory.heap.allocated.bytes

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

当前分配的堆大小(以字节为单位)。

nodejs.memory.heap.used.bytes

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

当前使用的堆大小(以字节为单位)。

nodejs.memory.external.bytes

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

由 V8 管理的与 JavaScript 对象绑定的 C++ 对象的内存使用情况。

nodejs.memory.arrayBuffers.bytes

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

为 ArrayBuffers 和 SharedArrayBuffers 分配的内存,包括所有 Node.js 缓冲区。这也包含在 nodejs.memory.external.bytes 值中。

span.self_time.sum

编辑
  • 类型: 长整数
  • 格式: 毫秒

自上次报告以来(增量)以毫秒为单位的所有跨度自时间之和。span.self_time.* 指标称为“细分指标”。

您可以按以下维度进行过滤和分组

  • transaction.name: 事务的名称
  • transaction.type: 事务的类型,例如 request
  • span.type: 跨度的类型,例如 apptemplatedb
  • span.subtype: 跨度的子类型,例如 mysql(可选)

span.self_time.count

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

您可以按以下维度进行过滤和分组

  • transaction.name: 事务的名称
  • transaction.type: 事务的类型,例如 request
  • span.type: 跨度的类型,例如 apptemplatedb
  • span.subtype: 跨度的子类型,例如 mysql(可选)