Metrics
editMetrics
editThe Node.js agent tracks various system and application metrics.
These metrics will be sent regularly to the APM Server and from there to Elasticsearch.
You can adjust the interval by setting metricsInterval
.
The metrics will be stored in the apm-*
index and have the processor.event
property set to metric
.
system.cpu.total.norm.pct
edit- Type: Float
- Format: Percent
The percentage of CPU time in states other than Idle and IOWait, normalized by the number of cores.
system.memory.total
edit- Type: Long
- Format: Bytes
The total memory of the system in bytes.
system.memory.actual.free
edit- Type: Long
- Format: Bytes
Free memory of the system in bytes.
system.process.cpu.total.norm.pct
edit- Type: Float
- Format: Percent
The percentage of CPU time spent by the process since the last event. This value is normalized by the number of CPU cores and it ranges from 0 to 100%.
system.process.memory.rss.bytes
edit- Type: Long
- Format: Bytes
The Resident Set Size, the amount of memory the process occupies in main memory (RAM).
nodejs.handles.active
edit- Type: Long
- Format: Counter
The number of active libuv handles, likely held open by currently running I/O operations.
nodejs.requests.active
edit- Type: Long
- Format: Counter
The number of active libuv requests, likely waiting for a response to an I/O operation.
system.process.cpu.user.norm.pct
edit- Type: Long
- Format: Counter
The number of CPU cycles spent executing application code.
system.process.cpu.system.norm.pct
edit- Type: Long
- Format: Counter
The number of CPU cycles spent executing kernel code as a result of application activity.
nodejs.eventloop.delay.avg.ms
edit- Type: Float
- Format: Milliseconds
The number of milliseconds of event loop delay. Event loop delay is sampled every 10 milliseconds. Delays shorter than 10ms may not be observed, for example if a blocking operation starts and ends within the same sampling period.
nodejs.memory.heap.allocated.bytes
edit- Type: Long
- Format: Bytes
The current allocated heap size in bytes.
nodejs.memory.heap.used.bytes
edit- Type: Long
- Format: Bytes
The currently used heap size in bytes.
nodejs.memory.external.bytes
edit- Type: Long
- Format: Bytes
Memory usage of C++ objects bound to JavaScript objects managed by V8.
nodejs.memory.arrayBuffers.bytes
edit- Type: Long
- Format: Bytes
Memory allocated for ArrayBuffers and SharedArrayBuffers, including all Node.js Buffers.
This is also included in the nodejs.memory.external.bytes
value.
span.self_time.sum
edit- Type: Long
- Format: Milliseconds
The sum of all span self-times in milliseconds since the last report (the delta).
The span.self_time.*
metrics are referred to as "breakdown metrics".
You can filter and group by these dimensions:
-
transaction.name
: The name of the transaction -
transaction.type
: The type of the transaction, for examplerequest
-
span.type
: The type of the span, for exampleapp
,template
ordb
-
span.subtype
: The sub-type of the span, for examplemysql
(optional)
span.self_time.count
edit- Type: Long
- Format: Counter
You can filter and group by these dimensions:
-
transaction.name
: The name of the transaction -
transaction.type
: The type of the transaction, for examplerequest
-
span.type
: The type of the span, for exampleapp
,template
ordb
-
span.subtype
: The sub-type of the span, for examplemysql
(optional)