diff --git a/specification/metrics/semantic_conventions/hardware-metrics.md b/specification/metrics/semantic_conventions/hardware-metrics.md index ed256fddf..c6cc24e27 100644 --- a/specification/metrics/semantic_conventions/hardware-metrics.md +++ b/specification/metrics/semantic_conventions/hardware-metrics.md @@ -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) and therefore inherit its attributes, like `host.id` and `host.name`. -Additionally, it is recommended that all metrics in `hw.` instruments have the -below attributes: +Additionally, all metrics in `hw.` instruments have the following attributes: | 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 | -| `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 @@ -53,19 +52,19 @@ below attributes: 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 | -| ----------- | ---------------------------------------------------------------------------------- | -------- | ------------------------------------------------- | ---------- | ------------------ | -------------------------- | -| `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.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` | +| 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.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.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 monitored component: | 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** > @@ -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 | | | > **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 **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 | -| ------------------------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ----------------------------------------------------- | -| `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.time_left` | Time left before battery is completely charged or discharged | s | Gauge | Int | `state` (recommended) | `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` | +| 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.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` (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.type` | `battery` | -All `hw.battery.` metrics may include the below **optional** attributes to describe the -characteristics of the monitored battery: +All `hw.battery.` metrics may include the below **Recommended** attributes to +describe the characteristics of the monitored battery: | 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 many individual cores. -| 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.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.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` | +| 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.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.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` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | ------------- | ---------------------- | ------- | @@ -134,12 +136,12 @@ Additional **optional** attributes: **Description:** Controller that controls the physical disks and organize 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 | -| ----------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------- | -------------------------- | -| `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` | +| 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.type` (**Required**) | `disk_controller` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | ------------------ | ------------------------- | ------- | @@ -154,12 +156,12 @@ Additional **optional** attributes: **Description:** Computer chassis (can be an expansion enclosure) -| 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.type` (required) | `enclosure` | +| 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.type` (**Required**) | `enclosure` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | --------------- | -------------------------------------------------- | ------------------------- | @@ -174,15 +176,15 @@ Additional **optional** attributes: **Description:** Fan that keeps the air flowing to maintain the internal temperature of a computer -| 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.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.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` | +| 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.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.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` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | ----------------- | --------------------------------------------- | ---------------- | @@ -192,20 +194,20 @@ Additional **optional** attributes: **Description:** Graphics Processing Unit (discrete) -| 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.type` (required) | `gpu` | -| `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.utilization` | Fraction of GPU memory used | 1 | Gauge | Double | | | -| `hw.gpu.memory.usage` | GPU memory used | By | UpDownCounter | Int64 | | | -| `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.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` | +| 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.type` (**Required**) | `gpu` | +| `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.utilization` | Fraction of GPU memory used | 1 | Gauge | Double | | | +| `hw.gpu.memory.usage` | GPU memory used | By | UpDownCounter | Int64 | | | +| `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.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` | -Additional **optional** attributes: +Additional **Recommended** attributes: | 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 as /dev/hdd0 by the controller). -| 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.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.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.type` (required) | `logical_disk` | +| 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.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.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.type` (**Required**) | `logical_disk` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | ------------- | ----------- | --------- | @@ -240,14 +242,14 @@ Additional **optional** attributes: **Description:** A memory module in a computer system. -| 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.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.type` (required) | `memory` | +| 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.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.type` (**Required**) | `memory` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | --------------- | ------------------------- | ------- | @@ -262,19 +264,19 @@ Additional **optional** attributes: (NIC), excluding virtual adapters and loopbacks. Examples: an Ethernet 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 | -| ---------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------- | ------------------------------------------------- | ---------- | ---------------------- | --------------------------- | -| `hw.errors` | Number of errors encountered by the network adapter | {error} | Counter | Int64 | `type` (recommended) | `all`, `zero_buffer_credit` | -| | | | | | `hw.type` (required) | `network` | -| `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.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.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.type` (required) | `network` | +| 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.type` (**Required**) | `network` | +| `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.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.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.type` (**Required**) | `network` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | ------------------- | ----------------------------------------------------------- | --------------------------- | @@ -288,16 +290,16 @@ Additional **optional** attributes: **Description:** Physical hard drive (HDD or SDD) -| 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.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.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.type` (required) | `physical_disk` | +| 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.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.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.type` (**Required**) | `physical_disk` | -Additional **optional** attributes: +Additional **Recommended** attributes: | 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 | | ----------------------------- | ----------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ------------------------------ | -| `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.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.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` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | --------------- | ---------------------- | ------- | @@ -332,14 +334,14 @@ Additional **optional** attributes: **Description:** A tape drive in a computer or in a tape library (excluding virtual tape libraries) -| 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.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.type` (required) | `tape_drive` | +| 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.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.type` (**Required**) | `tape_drive` | -Additional **optional** attributes: +Additional **Recommended** attributes: | 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 | | ---------------------- | --------------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ---------------------------------------------------------------- | | `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.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.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.type` (**Required**) | `temperature` | -Additional **optional** attributes: +Additional **Recommended** attributes: | 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 | | -------------------- | ----------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | -------------------------- | ---------------------------------------------------------------- | -| `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` | Measured voltage 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.type` (required) | `voltage` | +| `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.type` (**Required**) | `voltage` | -Additional **optional** attributes: +Additional **Recommended** attributes: | Attribute Key | Description | Example | | ----------------- | ---------------------- | ---------- |