Semantic Conventions for Node.js Runtime Metrics
Status: Experimental
This document describes semantic conventions for Node.js Runtime metrics in OpenTelemetry.
Experimental
Status: Experimental
Description: Experimental Node.js Runtime metrics captured under nodejs
.
Note: The metrics for eventloop delay are split into separated values instead of a single histogram, because node runtime
only returns single values through perf_hooks.monitorEventLoopDelay([options])
and not the entire
histogram, so it’s not possible to convert it to an OpenTelemetry histogram.
Metric: nodejs.eventloop.delay.min
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.delay.min | Gauge | s | Event loop minimum delay. [1] |
[1]: Value can be retrieved from value histogram.min
of perf_hooks.monitorEventLoopDelay([options])
Metric: nodejs.eventloop.delay.max
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.delay.max | Gauge | s | Event loop maximum delay. [1] |
[1]: Value can be retrieved from value histogram.max
of perf_hooks.monitorEventLoopDelay([options])
Metric: nodejs.eventloop.delay.mean
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.delay.mean | Gauge | s | Event loop mean delay. [1] |
[1]: Value can be retrieved from value histogram.mean
of perf_hooks.monitorEventLoopDelay([options])
Metric: nodejs.eventloop.delay.stddev
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.delay.stddev | Gauge | s | Event loop standard deviation delay. [1] |
[1]: Value can be retrieved from value histogram.stddev
of perf_hooks.monitorEventLoopDelay([options])
Metric: nodejs.eventloop.delay.p50
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.delay.p50 | Gauge | s | Event loop 50 percentile delay. [1] |
[1]: Value can be retrieved from value histogram.percentile(50)
of perf_hooks.monitorEventLoopDelay([options])
Metric: nodejs.eventloop.delay.p90
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.delay.p90 | Gauge | s | Event loop 90 percentile delay. [1] |
[1]: Value can be retrieved from value histogram.percentile(90)
of perf_hooks.monitorEventLoopDelay([options])
Metric: nodejs.eventloop.delay.p99
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.delay.p99 | Gauge | s | Event loop 99 percentile delay. [1] |
[1]: Value can be retrieved from value histogram.percentile(99)
of perf_hooks.monitorEventLoopDelay([options])
Metric: nodejs.eventloop.utilization
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.utilization | Gauge | 1 | Event loop utilization. [1] |
[1]: The value range is [0.0, 1.0] and can be retrieved from performance.eventLoopUtilization([utilization1[, utilization2]])
Metric: nodejs.eventloop.time
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
nodejs.eventloop.time | Counter | s | Cumulative duration of time the event loop has been in each state. [1] |
[1]: Value can be retrieved from performance.eventLoopUtilization([utilization1[, utilization2]])
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
nodejs.eventloop.state | string | The state of event loop time. | active ; idle | Required |
nodejs.eventloop.state
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
active | Active time. | |
idle | Idle time. |
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!