Issue #3236 Update attribute requirement levels in hardware metrics semconv (#3258)

Fixes #3236

## Changes

* Update attributes requirement levels in
`specification\metrics\semantic_conventions\hardware-metrics.md`
* Minor wording corrections
This commit is contained in:
Bertrand Martin 2023-03-25 01:29:20 +01:00 committed by GitHub
parent 13e82eae88
commit b3414fcb7f
1 changed files with 120 additions and 118 deletions

View File

@ -38,14 +38,13 @@ when creating instruments not explicitly defined in the specification.
All metrics in `hw.` instruments should be attached to a [Host Resource](../../resource/semantic_conventions/host.md) All metrics in `hw.` instruments should be attached to a [Host Resource](../../resource/semantic_conventions/host.md)
and therefore inherit its attributes, like `host.id` and `host.name`. and therefore inherit its attributes, like `host.id` and `host.name`.
Additionally, it is recommended that all metrics in `hw.` instruments have the Additionally, all metrics in `hw.` instruments have the following attributes:
below attributes:
| Attribute Key | Description | Example | Requirement Level | | Attribute Key | Description | Example | Requirement Level |
| ------------- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------- |-------------------| | ------------- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ----------------- |
| `id` | An identifier for the hardware component, unique within the monitored host | `win32battery_battery_testsysa33_1` | Required | | `id` | An identifier for the hardware component, unique within the monitored host | `win32battery_battery_testsysa33_1` | **Required** |
| `name` | An easily-recognizable name for the hardware component | `eth0` | Recommended | | `name` | An easily-recognizable name for the hardware component | `eth0` | Recommended |
| `parent` | Unique identifier of the parent component (typically the `id` attribute of the enclosure, or disk controller) | `dellStorage_perc_0` | Opt-In | | `parent` | Unique identifier of the parent component (typically the `id` attribute of the enclosure, or disk controller) | `dellStorage_perc_0` | Recommended |
## Metric Instruments ## Metric Instruments
@ -53,19 +52,19 @@ below attributes:
The below metrics apply to any type of hardware component. The below metrics apply to any type of hardware component.
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key(s) | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key(s) | Attribute Values |
| ----------- | ---------------------------------------------------------------------------------- | -------- | ------------------------------------------------- | ---------- | ------------------ | -------------------------- | | ----------- | ---------------------------------------------------------------------------------- | ------- | ------------------------------------------------- | ---------- | ---------------------- | -------------------------- |
| `hw.energy` | Energy consumed by the component, in joules | J | Counter | Int64 | | | | `hw.energy` | Energy consumed by the component, in joules | J | Counter | Int64 | | |
| `hw.errors` | Number of errors encountered by the component | {error} | Counter | Int64 | `type` (optional) | | | `hw.errors` | Number of errors encountered by the component | {error} | Counter | Int64 | `type` (Recommended) | |
| `hw.power` | Instantaneous power consumed by the component, in Watts (`hw.energy` is preferred) | W | Gauge | Double | | | | `hw.power` | Instantaneous power consumed by the component, in Watts (`hw.energy` is preferred) | W | Gauge | Double | | |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed` |
These common `hw.` metrics must include the below attributes to describe the These common `hw.` metrics must include the below attributes to describe the
monitored component: monitored component:
| Attribute Key | Description | Example | Requirement Level | | Attribute Key | Description | Example | Requirement Level |
| ------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | | ------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| `hw.type` | Type of the component | `battery`, `cpu`, `disk_controller`, `enclosure`, `fan`, `gpu`, `logical_disk`, `memory`, `network`, `physical_disk`, `power_supply`, `tape_drive`, `temperature`, `voltage` | Required | | `hw.type` | Type of the component | `battery`, `cpu`, `disk_controller`, `enclosure`, `fan`, `gpu`, `logical_disk`, `memory`, `network`, `physical_disk`, `power_supply`, `tape_drive`, `temperature`, `voltage` | **Required** |
> **Warning** > **Warning**
> >
@ -84,22 +83,25 @@ Examples: physical server, switch or disk array.
| `hw.host.power` | Instantaneous power consumed by the entire physical host in Watts (`hw.host.energy` is preferred) | W | Gauge | Double | | | | `hw.host.power` | Instantaneous power consumed by the entire physical host in Watts (`hw.host.energy` is preferred) | W | Gauge | Double | | |
> **Note** > **Note**
> Host energy usage MUST be reported using the specific `hw.host.energy` and `hw.host.power` metrics only, instead of the generic `hw.energy` and `hw.power` described in the previous section, to prevent summing up overlapping values. > The overall energy usage of a host MUST be reported using the specific
> `hw.host.energy` and `hw.host.power` metrics **only**, instead of the generic
> `hw.energy` and `hw.power` described in the previous section, to prevent
> summing up overlapping values.
### `hw.battery.` - Battery metrics ### `hw.battery.` - Battery metrics
**Description:** A battery in a computer system or an UPS. **Description:** A battery in a computer system or an UPS.
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key(s) | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key(s) | Attribute Values |
| ------------------------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ----------------------------------------------------- | | ------------------------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | ----------------------------------------------------- |
| `hw.battery.charge` | Remaining fraction of battery charge | 1 | Gauge | Double | | | | `hw.battery.charge` | Remaining fraction of battery charge | 1 | Gauge | Double | | |
| `hw.battery.charge.limit` | Lower limit of battery charge fraction to ensure proper operation | 1 | Gauge | Double | `limit_type` (recommended) | `critical`, `throttled`, `degraded` | | `hw.battery.charge.limit` | Lower limit of battery charge fraction to ensure proper operation | 1 | Gauge | Double | `limit_type` (Recommended) | `critical`, `throttled`, `degraded` |
| `hw.battery.time_left` | Time left before battery is completely charged or discharged | s | Gauge | Int | `state` (recommended) | `charging`, `discharging` | | `hw.battery.time_left` | Time left before battery is completely charged or discharged | s | Gauge | Int | `state` (Conditionally Required, if the battery is charging or discharging) | `charging`, `discharging` |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed`, `charging`, `discharging` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed`, `charging`, `discharging` |
| | | | | | `hw.type` | `battery` | | | | | | | `hw.type` | `battery` |
All `hw.battery.` metrics may include the below **optional** attributes to describe the All `hw.battery.` metrics may include the below **Recommended** attributes to
characteristics of the monitored battery: describe the characteristics of the monitored battery:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ------------- | --------------------------------------------- | --------------------------- | | ------------- | --------------------------------------------- | --------------------------- |
@ -114,15 +116,15 @@ characteristics of the monitored battery:
the operating system for multi-core systems). A physical processor may include the operating system for multi-core systems). A physical processor may include
many individual cores. many individual cores.
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| -------------------- | ----------------------------------------------------------------------------- | -------- | ------------------------------------------------- | ---------- | -------------------------- | ----------------------------------------------- | | -------------------- | ----------------------------------------------------------------------------- | ------- | ------------------------------------------------- | ---------- | -------------------------- | ----------------------------------------------- |
| `hw.errors` | Total number of errors encountered and corrected by the CPU | {error} | Counter | Int64 | `hw.type` (required) | `cpu` | | `hw.errors` | Total number of errors encountered and corrected by the CPU | {error} | Counter | Int64 | `hw.type` (**Required**) | `cpu` |
| `hw.cpu.speed` | CPU current frequency | Hz | Gauge | Int64 | | | | `hw.cpu.speed` | CPU current frequency | Hz | Gauge | Int64 | | |
| `hw.cpu.speed.limit` | CPU maximum frequency | Hz | Gauge | Int64 | `limit_type` (recommended) | `throttled`, `max`, `turbo` | | `hw.cpu.speed.limit` | CPU maximum frequency | Hz | Gauge | Int64 | `limit_type` (Recommended) | `throttled`, `max`, `turbo` |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed`, `predicted_failure` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed`, `predicted_failure` |
| | | | | | `hw.type` (required) | `cpu` | | | | | | | `hw.type` (**Required**) | `cpu` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ------------- | ---------------------- | ------- | | ------------- | ---------------------- | ------- |
@ -134,12 +136,12 @@ Additional **optional** attributes:
**Description:** Controller that controls the physical disks and organize **Description:** Controller that controls the physical disks and organize
them in RAID sets and logical disks that are exposed to the operating system. them in RAID sets and logical disks that are exposed to the operating system.
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| ----------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------- | -------------------------- | | ----------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | ------------------------ | -------------------------- |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed` |
| | | | | | `hw.type` (required) | `disk_controller` | | | | | | | `hw.type` (**Required**) | `disk_controller` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ------------------ | ------------------------- | ------- | | ------------------ | ------------------------- | ------- |
@ -154,12 +156,12 @@ Additional **optional** attributes:
**Description:** Computer chassis (can be an expansion enclosure) **Description:** Computer chassis (can be an expansion enclosure)
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| ----------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------- | ---------------------------------- | | ----------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | ------------------------ | ---------------------------------- |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed`, `open` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed`, `open` |
| | | | | | `hw.type` (required) | `enclosure` | | | | | | | `hw.type` (**Required**) | `enclosure` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| --------------- | -------------------------------------------------- | ------------------------- | | --------------- | -------------------------------------------------- | ------------------------- |
@ -174,15 +176,15 @@ Additional **optional** attributes:
**Description:** Fan that keeps the air flowing to maintain the internal **Description:** Fan that keeps the air flowing to maintain the internal
temperature of a computer temperature of a computer
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| -------------------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ------------------------------------- | | -------------------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | ------------------------------ | ------------------------------------- |
| `hw.fan.speed` | Fan speed in revolutions per minute | rpm | Gauge | Int | | | | `hw.fan.speed` | Fan speed in revolutions per minute | rpm | Gauge | Int | | |
| `hw.fan.speed.limit` | Speed limit in rpm | rpm | Gauge | Int | `limit_type` (recommended) | `low.critical`, `low.degraded`, `max` | | `hw.fan.speed.limit` | Speed limit in rpm | rpm | Gauge | Int | `limit_type` (**Recommended**) | `low.critical`, `low.degraded`, `max` |
| `hw.fan.speed_ratio` | Fan speed expressed as a fraction of its maximum speed | 1 | Gauge | Double | | | | `hw.fan.speed_ratio` | Fan speed expressed as a fraction of its maximum speed | 1 | Gauge | Double | | |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed` |
| | | | | | `hw.type` (required) | `fan` | | | | | | | `hw.type` (**Required**) | `fan` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ----------------- | --------------------------------------------- | ---------------- | | ----------------- | --------------------------------------------- | ---------------- |
@ -192,20 +194,20 @@ Additional **optional** attributes:
**Description:** Graphics Processing Unit (discrete) **Description:** Graphics Processing Unit (discrete)
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| --------------------------- | ----------------------------------------------------------------------------- | -------- | ------------------------------------------------- | ---------- | ---------------------- | ----------------------------------------------- | | --------------------------- | ----------------------------------------------------------------------------- | ------- | ------------------------------------------------- | ---------- | -------------------------- | ----------------------------------------------- |
| `hw.errors` | Number of errors encountered by the GPU | {error} | Counter | Int64 | `type` (recommended) | `corrected`, `all` | | `hw.errors` | Number of errors encountered by the GPU | {error} | Counter | Int64 | `type` (Recommended) | `corrected`, `all` |
| | | | | | `hw.type` (required) | `gpu` | | | | | | | `hw.type` (**Required**) | `gpu` |
| `hw.gpu.io` | Received and transmitted bytes by the GPU | By | Counter | Int64 | `direction` (required) | `receive`, `transmit` | | `hw.gpu.io` | Received and transmitted bytes by the GPU | By | Counter | Int64 | `direction` (**Required**) | `receive`, `transmit` |
| `hw.gpu.memory.limit` | Size of the GPU memory | By | UpDownCounter | Int64 | | | | `hw.gpu.memory.limit` | Size of the GPU memory | By | UpDownCounter | Int64 | | |
| `hw.gpu.memory.utilization` | Fraction of GPU memory used | 1 | Gauge | Double | | | | `hw.gpu.memory.utilization` | Fraction of GPU memory used | 1 | Gauge | Double | | |
| `hw.gpu.memory.usage` | GPU memory used | By | UpDownCounter | Int64 | | | | `hw.gpu.memory.usage` | GPU memory used | By | UpDownCounter | Int64 | | |
| `hw.gpu.power` | GPU instantaneous power consumption in Watts | W | Gauge | Double | | | | `hw.gpu.power` | GPU instantaneous power consumption in Watts | W | Gauge | Double | | |
| `hw.gpu.utilization` | Fraction of time spent in a specific task | 1 | Gauge | Double | `task` (recommended) | `decoder`, `encoder`, `general` | | `hw.gpu.utilization` | Fraction of time spent in a specific task | 1 | Gauge | Double | `task` (Recommended) | `decoder`, `encoder`, `general` |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed`, `predicted_failure` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed`, `predicted_failure` |
| | | | | | `hw.type` (required) | `gpu` | | | | | | | `hw.type` (**Required**) | `gpu` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ------------------ | ------------------------- | ------- | | ------------------ | ------------------------- | ------- |
@ -221,16 +223,16 @@ Additional **optional** attributes:
controller to the operating system (e.g. a RAID 1 set made of 2 disks, and exposed controller to the operating system (e.g. a RAID 1 set made of 2 disks, and exposed
as /dev/hdd0 by the controller). as /dev/hdd0 by the controller).
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| ----------------------------- | ----------------------------------------------------------------------------- | -------- | ------------------------------------------------- | ---------- | -------------------- | -------------------------- | | ----------------------------- | ----------------------------------------------------------------------------- | ------- | ------------------------------------------------- | ---------- | ------------------------ | -------------------------- |
| `hw.errors` | Number of errors encountered on this logical disk | {error} | Counter | Int64 | `hw.type` (required) | `logical_disk` | | `hw.errors` | Number of errors encountered on this logical disk | {error} | Counter | Int64 | `hw.type` (**Required**) | `logical_disk` |
| `hw.logical_disk.limit` | Size of the logical disk | By | UpDownCounter | Int64 | | | | `hw.logical_disk.limit` | Size of the logical disk | By | UpDownCounter | Int64 | | |
| `hw.logical_disk.usage` | Logical disk space usage | By | UpDownCounter | Int64 | `state` (required) | `used`, `free` | | `hw.logical_disk.usage` | Logical disk space usage | By | UpDownCounter | Int64 | `state` (**Required**) | `used`, `free` |
| `hw.logical_disk.utilization` | Logical disk space utilization as a fraction | 1 | Gauge | Double | `state` (required) | `used`, `free` | | `hw.logical_disk.utilization` | Logical disk space utilization as a fraction | 1 | Gauge | Double | `state` (**Required**) | `used`, `free` |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed` |
| | | | | | `hw.type` (required) | `logical_disk` | | | | | | | `hw.type` (**Required**) | `logical_disk` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ------------- | ----------- | --------- | | ------------- | ----------- | --------- |
@ -240,14 +242,14 @@ Additional **optional** attributes:
**Description:** A memory module in a computer system. **Description:** A memory module in a computer system.
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| ---------------- | ----------------------------------------------------------------------------- | -------- | ------------------------------------------------- | ---------- | -------------------- | ----------------------------------------------- | | ---------------- | ----------------------------------------------------------------------------- | ------- | ------------------------------------------------- | ---------- | ------------------------ | ----------------------------------------------- |
| `hw.errors` | Number of errors encountered on this memory module | {error} | Counter | Int64 | `hw.type` (required) | `memory` | | `hw.errors` | Number of errors encountered on this memory module | {error} | Counter | Int64 | `hw.type` (**Required**) | `memory` |
| `hw.memory.size` | Size of the memory module | By | UpDownCounter | Int64 | | | | `hw.memory.size` | Size of the memory module | By | UpDownCounter | Int64 | | |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed`, `predicted_failure` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed`, `predicted_failure` |
| | | | | | `hw.type` (required) | `memory` | | | | | | | `hw.type` (**Required**) | `memory` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| --------------- | ------------------------- | ------- | | --------------- | ------------------------- | ------- |
@ -262,19 +264,19 @@ Additional **optional** attributes:
(NIC), excluding virtual adapters and loopbacks. Examples: an Ethernet adapter, (NIC), excluding virtual adapters and loopbacks. Examples: an Ethernet adapter,
an HBA, an fiber channel port or a Wi-Fi adapter. an HBA, an fiber channel port or a Wi-Fi adapter.
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------- | ------------------------------------------------- | ---------- | ---------------------- | --------------------------- | | ---------------------------------- | ------------------------------------------------------------------------------------------------------------ | -------- | ------------------------------------------------- | ---------- | -------------------------- | --------------------------- |
| `hw.errors` | Number of errors encountered by the network adapter | {error} | Counter | Int64 | `type` (recommended) | `all`, `zero_buffer_credit` | | `hw.errors` | Number of errors encountered by the network adapter | {error} | Counter | Int64 | `type` (Recommended) | `all`, `zero_buffer_credit` |
| | | | | | `hw.type` (required) | `network` | | | | | | | `hw.type` (**Required**) | `network` |
| `hw.network.bandwidth.limit` | Link speed | By | UpDownCounter | Int64 | | | | `hw.network.bandwidth.limit` | Link speed | By | UpDownCounter | Int64 | | |
| `hw.network.bandwidth.utilization` | Utilization of the network bandwidth as a fraction | 1 | Gauge | Double | | | | `hw.network.bandwidth.utilization` | Utilization of the network bandwidth as a fraction | 1 | Gauge | Double | | |
| `hw.network.io` | Received and transmitted network traffic in bytes | By | Counter | Int64 | `direction` (required) | `receive`, `transmit` | | `hw.network.io` | Received and transmitted network traffic in bytes | By | Counter | Int64 | `direction` (**Required**) | `receive`, `transmit` |
| `hw.network.packets` | Received and transmitted network traffic in packets (or frames) | {packet} | Counter | Int64 | `direction` (required) | `receive`, `transmit` | | `hw.network.packets` | Received and transmitted network traffic in packets (or frames) | {packet} | Counter | Int64 | `direction` (**Required**) | `receive`, `transmit` |
| `hw.network.up` | Link status: `1` (up) or `0` (down) | | UpDownCounter | Int | | | | `hw.network.up` | Link status: `1` (up) or `0` (down) | | UpDownCounter | Int | | |
| `hw.status` | Operational status, regardless of the link status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed` | | `hw.status` | Operational status, regardless of the link status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed` |
| | | | | | `hw.type` (required) | `network` | | | | | | | `hw.type` (**Required**) | `network` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ------------------- | ----------------------------------------------------------- | --------------------------- | | ------------------- | ----------------------------------------------------------- | --------------------------- |
@ -288,16 +290,16 @@ Additional **optional** attributes:
**Description:** Physical hard drive (HDD or SDD) **Description:** Physical hard drive (HDD or SDD)
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| ---------------------------------------- | ------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------- | ---------- | ------------------------------- | ----------------------------------------------- | | ---------------------------------------- | ------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------- | ---------- | ------------------------------- | ----------------------------------------------- |
| `hw.errors` | Number of errors encountered on this disk | {error} | Counter | Int64 | `hw.type` (required) | `physical_disk` | | `hw.errors` | Number of errors encountered on this disk | {error} | Counter | Int64 | `hw.type` (**Required**) | `physical_disk` |
| `hw.physical_disk.endurance_utilization` | Endurance remaining for this SSD disk | 1 | Gauge | Double | `state` (required) | `remaining` | | `hw.physical_disk.endurance_utilization` | Endurance remaining for this SSD disk | 1 | Gauge | Double | `state` (**Required**) | `remaining` |
| `hw.physical_disk.size` | Size of the disk | By | UpDownCounter | Int64 | | | | `hw.physical_disk.size` | Size of the disk | By | UpDownCounter | Int64 | | |
| `hw.physical_disk.smart` | Value of the corresponding [S.M.A.R.T.](https://en.wikipedia.org/wiki/S.M.A.R.T.) attribute | 1 | Gauge | Int | `smart_attribute` (recommended) | `Seek Error Rate`, `Spin Retry Count`, etc. | | `hw.physical_disk.smart` | Value of the corresponding [S.M.A.R.T.](https://en.wikipedia.org/wiki/S.M.A.R.T.) attribute | 1 | Gauge | Int | `smart_attribute` (Recommended) | `Seek Error Rate`, `Spin Retry Count`, etc. |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed`, `predicted_failure` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed`, `predicted_failure` |
| | | | | | `hw.type` (required) | `physical_disk` | | | | | | | `hw.type` (**Required**) | `physical_disk` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ------------------ | ---------------------- | ------------------- | | ------------------ | ---------------------- | ------------------- |
@ -314,12 +316,12 @@ motherboard and the GPUs
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| ----------------------------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ------------------------------ | | ----------------------------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ------------------------------ |
| `hw.power_supply.limit` | Maximum power output of the power supply | W | UpDownCounter | Int64 | `limit_type` (recommended) | `max`, `critical`, `throttled` | | `hw.power_supply.limit` | Maximum power output of the power supply | W | UpDownCounter | Int64 | `limit_type` (Recommended) | `max`, `critical`, `throttled` |
| `hw.power_supply.utilization` | Utilization of the power supply as a fraction of its maximum output | 1 | Gauge | Double | | | | `hw.power_supply.utilization` | Utilization of the power supply as a fraction of its maximum output | 1 | Gauge | Double | | |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed` |
| | | | | | `hw.type` (required) | `power_supply` | | | | | | | `hw.type` (**Required**) | `power_supply` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| --------------- | ---------------------- | ------- | | --------------- | ---------------------- | ------- |
@ -332,14 +334,14 @@ Additional **optional** attributes:
**Description:** A tape drive in a computer or in a tape library (excluding **Description:** A tape drive in a computer or in a tape library (excluding
virtual tape libraries) virtual tape libraries)
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| -------------------------- | ----------------------------------------------------------------------------- | ------------ | ------------------------------------------------- | ---------- | -------------------- | -------------------------------------------- | | -------------------------- | ----------------------------------------------------------------------------- | ----------- | ------------------------------------------------- | ---------- | ------------------------ | -------------------------------------------- |
| `hw.errors` | Number of errors encountered by the tape drive | {error} | Counter | Int64 | `hw.type` | `tape_drive` | | `hw.errors` | Number of errors encountered by the tape drive | {error} | Counter | Int64 | `hw.type` | `tape_drive` |
| `hw.tape_drive.operations` | Operations performed by the tape drive | {operation} | Counter | Int64 | `type` (recommended) | `mount`, `unmount`, `clean` | | `hw.tape_drive.operations` | Operations performed by the tape drive | {operation} | Counter | Int64 | `type` (Recommended) | `mount`, `unmount`, `clean` |
| `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed`, `needs_cleaning` | | `hw.status` | Operational status: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed`, `needs_cleaning` |
| | | | | | `hw.type` (required) | `tape_drive` | | | | | | | `hw.type` (**Required**) | `tape_drive` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| --------------- | ---------------------- | ------- | | --------------- | ---------------------- | ------- |
@ -354,11 +356,11 @@ Additional **optional** attributes:
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| ---------------------- | --------------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ---------------------------------------------------------------- | | ---------------------- | --------------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ---------------------------------------------------------------- |
| `hw.temperature` | Temperature in degrees Celsius | Cel | Gauge | Double | | | | `hw.temperature` | Temperature in degrees Celsius | Cel | Gauge | Double | | |
| `hw.temperature.limit` | Temperature limit in degrees Celsius | Cel | Gauge | Double | `limit_type` (recommended) | `low.critical`, `low.degraded`, `high.degraded`, `high.critical` | | `hw.temperature.limit` | Temperature limit in degrees Celsius | Cel | Gauge | Double | `limit_type` (Recommended) | `low.critical`, `low.degraded`, `high.degraded`, `high.critical` |
| `hw.status` | Whether the temperature is within normal range: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed` | | `hw.status` | Whether the temperature is within normal range: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed` |
| | | | | | `hw.type` (required) | `temperature` | | | | | | | `hw.type` (**Required**) | `temperature` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ----------------- | ---------------------- | ---------- | | ----------------- | ---------------------- | ---------- |
@ -370,13 +372,13 @@ Additional **optional** attributes:
| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values | | Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key | Attribute Values |
| -------------------- | ----------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ---------------------------------------------------------------- | | -------------------- | ----------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ---------------------------------------------------------------- |
| `hw.voltage.limit` | Voltage limit in Volts | V | Gauge | Double | `limit_type` (recommended) | `low.critical`, `low.degraded`, `high.degraded`, `high.critical` | | `hw.voltage.limit` | Voltage limit in Volts | V | Gauge | Double | `limit_type` (Recommended) | `low.critical`, `low.degraded`, `high.degraded`, `high.critical` |
| `hw.voltage.nominal` | Nominal (expected) voltage | V | Gauge | Double | | | | `hw.voltage.nominal` | Nominal (expected) voltage | V | Gauge | Double | | |
| `hw.voltage` | Measured voltage by the sensor | V | Gauge | Double | | | | `hw.voltage` | Voltage measured by the sensor | V | Gauge | Double | | |
| `hw.status` | Whether the voltage is within normal range: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (required) | `ok`, `degraded`, `failed` | | `hw.status` | Whether the voltage is within normal range: `1` (true) or `0` (false) for each of the possible states | | UpDownCounter | Int | `state` (**Required**) | `ok`, `degraded`, `failed` |
| | | | | | `hw.type` (required) | `voltage` | | | | | | | `hw.type` (**Required**) | `voltage` |
Additional **optional** attributes: Additional **Recommended** attributes:
| Attribute Key | Description | Example | | Attribute Key | Description | Example |
| ----------------- | ---------------------- | ---------- | | ----------------- | ---------------------- | ---------- |