Semantic conventions for common hardware metrics
Hardware metrics do not include attributes that identify the device, machine, or host they are reported for. This information is expected to be provided via resource attributes configured by user applications. Application developers are encouraged to configure Host resource attributes.
Common hardware metrics
The below metrics apply to any type of hardware component.
These common hw.
metrics include the below attributes to describe the
monitored component:
[1] hw.type
: Describes the category of the hardware component for which hw.state
is being reported. For example, hw.type=temperature
along with hw.state=degraded
would indicate that the temperature of the hardware component has been reported as degraded
.
hw.type
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 |
---|---|---|
battery | Battery | |
cpu | CPU | |
disk_controller | Disk controller | |
enclosure | Enclosure | |
fan | Fan | |
gpu | GPU | |
logical_disk | Logical disk | |
memory | Memory | |
network | Network | |
physical_disk | Physical disk | |
power_supply | Power supply | |
tape_drive | Tape drive | |
temperature | Temperature | |
voltage | Voltage |
Metric: hw.energy
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
---|---|---|---|---|---|
hw.energy | Counter | J | Energy consumed by the component. |
[1] hw.type
: Describes the category of the hardware component for which hw.state
is being reported. For example, hw.type=temperature
along with hw.state=degraded
would indicate that the temperature of the hardware component has been reported as degraded
.
hw.type
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 |
---|---|---|
battery | Battery | |
cpu | CPU | |
disk_controller | Disk controller | |
enclosure | Enclosure | |
fan | Fan | |
gpu | GPU | |
logical_disk | Logical disk | |
memory | Memory | |
network | Network | |
physical_disk | Physical disk | |
power_supply | Power supply | |
tape_drive | Tape drive | |
temperature | Temperature | |
voltage | Voltage |
Metric: hw.errors
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
---|---|---|---|---|---|
hw.errors | Counter | {error} | Number of errors encountered by the component. |
[1] hw.type
: Describes the category of the hardware component for which hw.state
is being reported. For example, hw.type=temperature
along with hw.state=degraded
would indicate that the temperature of the hardware component has been reported as degraded
.
[2] error.type
: The error.type
SHOULD match the error code reported by the component, the canonical name of the error, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report.
[3] network.io.direction
: This attribute SHOULD only be used when hw.type
is set to "network"
to indicate the direction of the error.
error.type
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 |
---|---|---|
_OTHER | A fallback error value to be used when the instrumentation doesn’t define a custom value. |
hw.type
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 |
---|---|---|
battery | Battery | |
cpu | CPU | |
disk_controller | Disk controller | |
enclosure | Enclosure | |
fan | Fan | |
gpu | GPU | |
logical_disk | Logical disk | |
memory | Memory | |
network | Network | |
physical_disk | Physical disk | |
power_supply | Power supply | |
tape_drive | Tape drive | |
temperature | Temperature | |
voltage | Voltage |
network.io.direction
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 |
---|---|---|
receive | receive | |
transmit | transmit |
Metric: hw.power
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
---|---|---|---|---|---|
hw.power | Gauge | W | Instantaneous power consumed by the component. [1] |
[1]: It is recommended to report hw.energy
instead of hw.power
when possible.
[1] hw.type
: Describes the category of the hardware component for which hw.state
is being reported. For example, hw.type=temperature
along with hw.state=degraded
would indicate that the temperature of the hardware component has been reported as degraded
.
hw.type
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 |
---|---|---|
battery | Battery | |
cpu | CPU | |
disk_controller | Disk controller | |
enclosure | Enclosure | |
fan | Fan | |
gpu | GPU | |
logical_disk | Logical disk | |
memory | Memory | |
network | Network | |
physical_disk | Physical disk | |
power_supply | Power supply | |
tape_drive | Tape drive | |
temperature | Temperature | |
voltage | Voltage |
Metric: hw.status
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
---|---|---|---|---|---|
hw.status | UpDownCounter | 1 | Operational status: 1 (true) or 0 (false) for each of the possible states. [1] |
[1]: hw.status
is currently specified as an UpDownCounter but would ideally be represented using a StateSet as defined in OpenMetrics. This semantic convention will be updated once StateSet is specified in OpenTelemetry. This planned change is not expected to have any consequence on the way users query their timeseries backend to retrieve the values of hw.status
over time.
[1] hw.type
: Describes the category of the hardware component for which hw.state
is being reported. For example, hw.type=temperature
along with hw.state=degraded
would indicate that the temperature of the hardware component has been reported as degraded
.
hw.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 |
---|---|---|
degraded | Degraded | |
failed | Failed | |
needs_cleaning | Needs Cleaning | |
ok | OK | |
predicted_failure | Predicted Failure |
hw.type
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 |
---|---|---|
battery | Battery | |
cpu | CPU | |
disk_controller | Disk controller | |
enclosure | Enclosure | |
fan | Fan | |
gpu | GPU | |
logical_disk | Logical disk | |
memory | Memory | |
network | Network | |
physical_disk | Physical disk | |
power_supply | Power supply | |
tape_drive | Tape drive | |
temperature | Temperature | |
voltage | Voltage |
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!