semantic-conventions/docs/hardware/temperature.md

201 lines
14 KiB
Markdown

<!--- Hugo front matter used to generate the website version of this page:
linkTitle: Temperature
--->
# Semantic conventions for temperature metrics
**Status**: [Development][DocumentStatus]
<!-- toc -->
- [Temperature metrics `hw.temperature.*`](#temperature-metrics-hwtemperature)
- [Metric: `hw.temperature`](#metric-hwtemperature)
- [Metric: `hw.temperature.limit`](#metric-hwtemperaturelimit)
- [Metric: `hw.status` (Temperature)](#metric-hwstatus-temperature)
<!-- tocstop -->
## Temperature metrics `hw.temperature.*`
A temperature sensor, either numeric or discrete.
`hw.type` MUST be set to `"temperature"` when using the common `hw.status` metric.
All temperature metrics may include the below attributes:
<!-- semconv metric_attributes.hw.temperature.common -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
<!-- markdownlint-capture -->
<!-- markdownlint-disable -->
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`hw.id`](/docs/registry/attributes/hardware.md) | string | An identifier for the hardware component, unique within the monitored host | `win32battery_battery_testsysa33_1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.name`](/docs/registry/attributes/hardware.md) | string | An easily-recognizable name for the hardware component | `eth0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.parent`](/docs/registry/attributes/hardware.md) | string | Unique identifier of the parent component (typically the `hw.id` attribute of the enclosure, or disk controller) | `dellStorage_perc_0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.sensor_location`](/docs/registry/attributes/hardware.md) | string | Location of the sensor | `cpu0`; `ps1`; `INLET`; `CPU0_DIE`; `AMBIENT`; `MOTHERBOARD`; `PS0 V3_3`; `MAIN_12V`; `CPU_VCORE` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->
### Metric: `hw.temperature`
This metric is [recommended][MetricRecommended].
Temperature in degrees Celsius.
<!-- semconv metric.hw.temperature -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
<!-- markdownlint-capture -->
<!-- markdownlint-disable -->
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `hw.temperature` | Gauge | `Cel` | Temperature in degrees Celsius. | ![Development](https://img.shields.io/badge/-development-blue) | |
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`hw.id`](/docs/registry/attributes/hardware.md) | string | An identifier for the hardware component, unique within the monitored host | `win32battery_battery_testsysa33_1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.name`](/docs/registry/attributes/hardware.md) | string | An easily-recognizable name for the hardware component | `eth0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.parent`](/docs/registry/attributes/hardware.md) | string | Unique identifier of the parent component (typically the `hw.id` attribute of the enclosure, or disk controller) | `dellStorage_perc_0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.sensor_location`](/docs/registry/attributes/hardware.md) | string | Location of the sensor | `cpu0`; `ps1`; `INLET`; `CPU0_DIE`; `AMBIENT`; `MOTHERBOARD`; `PS0 V3_3`; `MAIN_12V`; `CPU_VCORE` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->
### Metric: `hw.temperature.limit`
This metric is [recommended][MetricRecommended].
Temperature limit in degrees Celsius.
The following attributes SHOULD be set:
- `hw.temperature.limit_type` SHOULD be set to indicate the type of limit, such as `"low.critical"`, `"low.degraded"`, `"high.degraded"`, or `"high.critical"`.
<!-- semconv metric.hw.temperature.limit -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
<!-- markdownlint-capture -->
<!-- markdownlint-disable -->
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
| -------- | --------------- | ----------- | -------------- | --------- | ------ |
| `hw.temperature.limit` | Gauge | `Cel` | Temperature limit in degrees Celsius. | ![Development](https://img.shields.io/badge/-development-blue) | |
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`hw.id`](/docs/registry/attributes/hardware.md) | string | An identifier for the hardware component, unique within the monitored host | `win32battery_battery_testsysa33_1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.limit_type`](/docs/registry/attributes/hardware.md) | string | Type of limit for hardware components | `low.critical`; `low.degraded`; `high.degraded`; `high.critical` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.name`](/docs/registry/attributes/hardware.md) | string | An easily-recognizable name for the hardware component | `eth0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.parent`](/docs/registry/attributes/hardware.md) | string | Unique identifier of the parent component (typically the `hw.id` attribute of the enclosure, or disk controller) | `dellStorage_perc_0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.sensor_location`](/docs/registry/attributes/hardware.md) | string | Location of the sensor | `cpu0`; `ps1`; `INLET`; `CPU0_DIE`; `AMBIENT`; `MOTHERBOARD`; `PS0 V3_3`; `MAIN_12V`; `CPU_VCORE` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
---
`hw.limit_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 |
|---|---|---|
| `critical` | Critical | ![Development](https://img.shields.io/badge/-development-blue) |
| `degraded` | Degraded | ![Development](https://img.shields.io/badge/-development-blue) |
| `high.critical` | High Critical | ![Development](https://img.shields.io/badge/-development-blue) |
| `high.degraded` | High Degraded | ![Development](https://img.shields.io/badge/-development-blue) |
| `low.critical` | Low Critical | ![Development](https://img.shields.io/badge/-development-blue) |
| `low.degraded` | Low Degraded | ![Development](https://img.shields.io/badge/-development-blue) |
| `max` | Maximum | ![Development](https://img.shields.io/badge/-development-blue) |
| `throttled` | Throttled | ![Development](https://img.shields.io/badge/-development-blue) |
| `turbo` | Turbo | ![Development](https://img.shields.io/badge/-development-blue) |
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->
### Metric: `hw.status` (Temperature)
This metric is [recommended][MetricRecommended].
Whether the temperature is within normal range: `1` (true) or `0` (false) for each of the possible states.
When using this metric for temperature status, the following attributes MUST be set:
- `hw.type` MUST be set to `"temperature"` to indicate that the status is for a temperature sensor.
- `hw.state` MUST be set to one of the following values to indicate the temperature state:
- `"ok"`: The temperature is within normal range.
- `"degraded"`: The temperature is outside the normal range but not critical.
- `"failed"`: The temperature is at a critical level.
<!-- semconv metric.hw.status -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
<!-- markdownlint-capture -->
<!-- markdownlint-disable -->
| 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] | ![Development](https://img.shields.io/badge/-development-blue) | |
**[1]:** `hw.status` is currently specified as an *UpDownCounter* but would ideally be represented using a [*StateSet* as defined in OpenMetrics](https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#stateset). 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.
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`hw.id`](/docs/registry/attributes/hardware.md) | string | An identifier for the hardware component, unique within the monitored host | `win32battery_battery_testsysa33_1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.state`](/docs/registry/attributes/hardware.md) | string | The current state of the component | `degraded`; `failed`; `needs_cleaning` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.type`](/docs/registry/attributes/hardware.md) | string | Type of the component [1] | `battery`; `cpu`; `disk_controller` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.name`](/docs/registry/attributes/hardware.md) | string | An easily-recognizable name for the hardware component | `eth0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`hw.parent`](/docs/registry/attributes/hardware.md) | string | Unique identifier of the parent component (typically the `hw.id` attribute of the enclosure, or disk controller) | `dellStorage_perc_0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
**[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 | ![Development](https://img.shields.io/badge/-development-blue) |
| `failed` | Failed | ![Development](https://img.shields.io/badge/-development-blue) |
| `needs_cleaning` | Needs Cleaning | ![Development](https://img.shields.io/badge/-development-blue) |
| `ok` | OK | ![Development](https://img.shields.io/badge/-development-blue) |
| `predicted_failure` | Predicted Failure | ![Development](https://img.shields.io/badge/-development-blue) |
---
`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 | ![Development](https://img.shields.io/badge/-development-blue) |
| `cpu` | CPU | ![Development](https://img.shields.io/badge/-development-blue) |
| `disk_controller` | Disk controller | ![Development](https://img.shields.io/badge/-development-blue) |
| `enclosure` | Enclosure | ![Development](https://img.shields.io/badge/-development-blue) |
| `fan` | Fan | ![Development](https://img.shields.io/badge/-development-blue) |
| `gpu` | GPU | ![Development](https://img.shields.io/badge/-development-blue) |
| `logical_disk` | Logical disk | ![Development](https://img.shields.io/badge/-development-blue) |
| `memory` | Memory | ![Development](https://img.shields.io/badge/-development-blue) |
| `network` | Network | ![Development](https://img.shields.io/badge/-development-blue) |
| `physical_disk` | Physical disk | ![Development](https://img.shields.io/badge/-development-blue) |
| `power_supply` | Power supply | ![Development](https://img.shields.io/badge/-development-blue) |
| `tape_drive` | Tape drive | ![Development](https://img.shields.io/badge/-development-blue) |
| `temperature` | Temperature | ![Development](https://img.shields.io/badge/-development-blue) |
| `voltage` | Voltage | ![Development](https://img.shields.io/badge/-development-blue) |
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->
[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status
[MetricRecommended]: /docs/general/metric-requirement-level.md#recommended