diff --git a/.chloggen/move_host_arch.yaml b/.chloggen/move_host_arch.yaml new file mode 100644 index 0000000000..1caa2f4554 --- /dev/null +++ b/.chloggen/move_host_arch.yaml @@ -0,0 +1,22 @@ +# Use this changelog template to create an entry for release notes. +# +# If your change doesn't affect end users you should instead start +# your pull request title with [chore] or use the "Skip Changelog" label. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: breaking + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: host + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: The CPU architecture now resides under the CPU to support the cpu entity + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +# The values here must be integers. +issues: [2374] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/registry/attributes/cpu.md b/docs/registry/attributes/cpu.md index 9e08dca64c..c8a7e763dd 100644 --- a/docs/registry/attributes/cpu.md +++ b/docs/registry/attributes/cpu.md @@ -5,7 +5,8 @@ ## CPU Attributes -Attributes specific to a cpu instance. +CPU fields can carry data about a specific cpu instance. +Note: These CPU attributes are typically used to capture system metrics about a CPU. The CPU attributes under host are for describing the cpu in the host. | Attribute | Type | Description | Examples | Stability | |---|---|---|---|---| diff --git a/docs/registry/attributes/host.md b/docs/registry/attributes/host.md index aef5841091..75519ad18d 100644 --- a/docs/registry/attributes/host.md +++ b/docs/registry/attributes/host.md @@ -3,13 +3,16 @@ # Host +- [Host Attributes](#host-attributes) +- [Deprecated Host Attributes](#deprecated-host-attributes) + ## Host Attributes A host is defined as a computing instance. For example, physical servers, virtual machines, switches or disk array. | Attribute | Type | Description | Examples | Stability | |---|---|---|---|---| -| `host.arch` | string | The CPU architecture the host system is running on. | `amd64`; `arm32`; `arm64` | ![Development](https://img.shields.io/badge/-development-blue) | +| `host.cpu.arch` | string | The CPU architecture the host system is running on. | `amd64`; `arm32`; `arm64` | ![Development](https://img.shields.io/badge/-development-blue) | | `host.cpu.cache.l2.size` | int | The amount of level 2 memory cache available to the processor (in Bytes). | `12288000` | ![Development](https://img.shields.io/badge/-development-blue) | | `host.cpu.family` | string | Family or generation of the CPU. | `6`; `PA-RISC 1.1e` | ![Development](https://img.shields.io/badge/-development-blue) | | `host.cpu.model.id` | string | Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. | `6`; `9000/778/B180L` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -33,6 +36,29 @@ A host is defined as a computing instance. For example, physical servers, virtua --- +`host.cpu.arch` 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 | +|---|---|---| +| `amd64` | AMD64 | ![Development](https://img.shields.io/badge/-development-blue) | +| `arm32` | ARM32 | ![Development](https://img.shields.io/badge/-development-blue) | +| `arm64` | ARM64 | ![Development](https://img.shields.io/badge/-development-blue) | +| `ia64` | Itanium | ![Development](https://img.shields.io/badge/-development-blue) | +| `ppc32` | 32-bit PowerPC | ![Development](https://img.shields.io/badge/-development-blue) | +| `ppc64` | 64-bit PowerPC | ![Development](https://img.shields.io/badge/-development-blue) | +| `s390x` | IBM z/Architecture | ![Development](https://img.shields.io/badge/-development-blue) | +| `x86` | 32-bit x86 | ![Development](https://img.shields.io/badge/-development-blue) | + +## Deprecated Host Attributes + +A host is defined as a computing instance. For example, physical servers, virtual machines, switches or disk array. + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `host.arch` | string | The CPU architecture the host system is running on. | `amd64`; `arm32`; `arm64` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `host.cpu.arch`. | + +--- + `host.arch` 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 | diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index 263e3c8506..7c1dc794ca 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -60,6 +60,7 @@ Currently, the following namespaces exist: | Host | | | | | [host](host.md#host) | ![Development](https://img.shields.io/badge/-development-blue) | | | [host.cpu](host.md#host-cpu) | ![Development](https://img.shields.io/badge/-development-blue) | +| | [host.image](host.md#host-image) | ![Development](https://img.shields.io/badge/-development-blue) | | K8s | | | | | [k8s.cluster](k8s.md#k8s-cluster) | ![Development](https://img.shields.io/badge/-development-blue) | | | [k8s.container](k8s.md#k8s-container) | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index f623758327..fb88323a26 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -13,6 +13,18 @@ **Description:** A host is defined as a computing instance. For example, physical servers, virtual machines, switches or disk array. +**Descriptive Attributes:** + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`host.type`](/docs/registry/attributes/host.md) | string | Type of host. For Cloud, this must be the machine type. | `n1-standard-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.ip`](/docs/registry/attributes/host.md) | string[] | Available IP addresses of the host, excluding loopback interfaces. [1] | `["192.168.1.140", "fe80::abc2:4a28:737a:609e"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.mac`](/docs/registry/attributes/host.md) | string[] | Available MAC addresses of the host, excluding loopback interfaces. [2] | `["AC-DE-48-23-45-67", "AC-DE-48-23-45-67-01-9F"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `host.ip`:** IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the [RFC 5952](https://www.rfc-editor.org/rfc/rfc5952.html) format. + +**[2] `host.mac`:** MAC Addresses MUST be represented in [IEEE RA hexadecimal form](https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf): as hyphen-separated octets in uppercase hexadecimal form from most to least significant. + **Other Attributes:** > :warning: This entity definition contains attributes without a role. @@ -20,17 +32,10 @@ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`host.arch`](/docs/registry/attributes/host.md) | string | The CPU architecture the host system is running on. | `amd64`; `arm32`; `arm64` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.id`](/docs/registry/attributes/host.md) | string | Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for the sources to use to determine the `machine-id` based on operating system. [1] | `fdbf79e8af94cb7f9e8df36789187052` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.image.id`](/docs/registry/attributes/host.md) | string | VM image ID or host OS image ID. For Cloud, this value is from the provider. | `ami-07b06b442921831e5` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.image.name`](/docs/registry/attributes/host.md) | string | Name of the VM image or OS install the host was instantiated from. | `infra-ami-eks-worker-node-7d4ec78312`; `CentOS-8-x86_64-1905` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.image.version`](/docs/registry/attributes/host.md) | string | The version string of the VM image or host OS as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `0.1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.id`](/docs/registry/attributes/host.md) | string | Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for the sources to use to determine the `machine-id` based on operating system. [3] | `fdbf79e8af94cb7f9e8df36789187052` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.name`](/docs/registry/attributes/host.md) | string | Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. | `opentelemetry-test` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.type`](/docs/registry/attributes/host.md) | string | Type of host. For Cloud, this must be the machine type. | `n1-standard-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.ip`](/docs/registry/attributes/host.md) | string[] | Available IP addresses of the host, excluding loopback interfaces. [2] | `["192.168.1.140", "fe80::abc2:4a28:737a:609e"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.mac`](/docs/registry/attributes/host.md) | string[] | Available MAC addresses of the host, excluding loopback interfaces. [3] | `["AC-DE-48-23-45-67", "AC-DE-48-23-45-67-01-9F"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[1] `host.id`:** Collecting `host.id` from non-containerized systems +**[3] `host.id`:** Collecting `host.id` from non-containerized systems **Non-privileged Machine ID Lookup** @@ -56,13 +61,35 @@ detector implementations MUST not collect `host.id` from privileged sources. If privileged lookup of `host.id` is required, the value should be injected via the `OTEL_RESOURCE_ATTRIBUTES` environment variable. -**[2] `host.ip`:** IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the [RFC 5952](https://www.rfc-editor.org/rfc/rfc5952.html) format. +## Host CPU -**[3] `host.mac`:** MAC Addresses MUST be represented in [IEEE RA hexadecimal form](https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf): as hyphen-separated octets in uppercase hexadecimal form from most to least significant. +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `host.cpu` + +**Description:** A host's CPU information + +**Other Attributes:** + +> :warning: This entity definition contains attributes without a role. +> Stable Entities MUST NOT have attributes without a defined role. + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`host.cpu.arch`](/docs/registry/attributes/host.md) | string | The CPU architecture the host system is running on. | `amd64`; `arm32`; `arm64` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.id`](/docs/registry/attributes/host.md) | string | Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for the sources to use to determine the `machine-id` based on operating system. | `fdbf79e8af94cb7f9e8df36789187052` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.cpu.cache.l2.size`](/docs/registry/attributes/host.md) | int | The amount of level 2 memory cache available to the processor (in Bytes). | `12288000` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.cpu.family`](/docs/registry/attributes/host.md) | string | Family or generation of the CPU. | `6`; `PA-RISC 1.1e` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.cpu.model.id`](/docs/registry/attributes/host.md) | string | Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. | `6`; `9000/778/B180L` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.cpu.model.name`](/docs/registry/attributes/host.md) | string | Model designation of the processor. | `11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.cpu.stepping`](/docs/registry/attributes/host.md) | string | Stepping or core revisions. | `1`; `r1p1` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.cpu.vendor.id`](/docs/registry/attributes/host.md) | string | Processor manufacturer identifier. A maximum 12-character string. [4] | `GenuineIntel` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[4] `host.cpu.vendor.id`:** [CPUID](https://wiki.osdev.org/CPUID) command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string. --- -`host.arch` 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. +`host.cpu.arch` 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 | |---|---|---| @@ -75,29 +102,26 @@ privileged lookup of `host.id` is required, the value should be injected via the | `s390x` | IBM z/Architecture | ![Development](https://img.shields.io/badge/-development-blue) | | `x86` | 32-bit x86 | ![Development](https://img.shields.io/badge/-development-blue) | -## Host CPU +## Host Image **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `host.cpu` - -**Description:** A host's CPU information +**type:** `host.image` -**Other Attributes:** +**Description:** The image that was used to be originally setup up a host. -> :warning: This entity definition contains attributes without a role. -> Stable Entities MUST NOT have attributes without a defined role. +**Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`host.cpu.cache.l2.size`](/docs/registry/attributes/host.md) | int | The amount of level 2 memory cache available to the processor (in Bytes). | `12288000` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.cpu.family`](/docs/registry/attributes/host.md) | string | Family or generation of the CPU. | `6`; `PA-RISC 1.1e` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.cpu.model.id`](/docs/registry/attributes/host.md) | string | Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. | `6`; `9000/778/B180L` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.cpu.model.name`](/docs/registry/attributes/host.md) | string | Model designation of the processor. | `11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.cpu.stepping`](/docs/registry/attributes/host.md) | string | Stepping or core revisions. | `1`; `r1p1` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.cpu.vendor.id`](/docs/registry/attributes/host.md) | string | Processor manufacturer identifier. A maximum 12-character string. [4] | `GenuineIntel` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.image.id`](/docs/registry/attributes/host.md) | string | VM image ID or host OS image ID. For Cloud, this value is from the provider. | `ami-07b06b442921831e5` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.image.version`](/docs/registry/attributes/host.md) | string | The version string of the VM image or host OS as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `0.1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**[4] `host.cpu.vendor.id`:** [CPUID](https://wiki.osdev.org/CPUID) command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string. +**Descriptive Attributes:** + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`host.image.name`](/docs/registry/attributes/host.md) | string | Name of the VM image or OS install the host was instantiated from. | `infra-ami-eks-worker-node-7d4ec78312`; `CentOS-8-x86_64-1905` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/resource/host.md b/docs/resource/host.md index 955b113773..c62d523cce 100644 --- a/docs/resource/host.md +++ b/docs/resource/host.md @@ -19,11 +19,7 @@ To report host metrics, the `system.*` namespace SHOULD be used. | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`host.arch`](/docs/registry/attributes/host.md) | string | The CPU architecture the host system is running on. | `amd64`; `arm32`; `arm64` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.id`](/docs/registry/attributes/host.md) | string | Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for the sources to use to determine the `machine-id` based on operating system. [1] | `fdbf79e8af94cb7f9e8df36789187052` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.image.id`](/docs/registry/attributes/host.md) | string | VM image ID or host OS image ID. For Cloud, this value is from the provider. | `ami-07b06b442921831e5` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.image.name`](/docs/registry/attributes/host.md) | string | Name of the VM image or OS install the host was instantiated from. | `infra-ami-eks-worker-node-7d4ec78312`; `CentOS-8-x86_64-1905` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`host.image.version`](/docs/registry/attributes/host.md) | string | The version string of the VM image or host OS as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `0.1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.name`](/docs/registry/attributes/host.md) | string | Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. | `opentelemetry-test` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.type`](/docs/registry/attributes/host.md) | string | Type of host. For Cloud, this must be the machine type. | `n1-standard-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.ip`](/docs/registry/attributes/host.md) | string[] | Available IP addresses of the host, excluding loopback interfaces. [2] | `["192.168.1.140", "fe80::abc2:4a28:737a:609e"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -59,21 +55,6 @@ privileged lookup of `host.id` is required, the value should be injected via the **[3] `host.mac`:** MAC Addresses MUST be represented in [IEEE RA hexadecimal form](https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf): as hyphen-separated octets in uppercase hexadecimal form from most to least significant. ---- - -`host.arch` 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 | -|---|---|---| -| `amd64` | AMD64 | ![Development](https://img.shields.io/badge/-development-blue) | -| `arm32` | ARM32 | ![Development](https://img.shields.io/badge/-development-blue) | -| `arm64` | ARM64 | ![Development](https://img.shields.io/badge/-development-blue) | -| `ia64` | Itanium | ![Development](https://img.shields.io/badge/-development-blue) | -| `ppc32` | 32-bit PowerPC | ![Development](https://img.shields.io/badge/-development-blue) | -| `ppc64` | 64-bit PowerPC | ![Development](https://img.shields.io/badge/-development-blue) | -| `s390x` | IBM z/Architecture | ![Development](https://img.shields.io/badge/-development-blue) | -| `x86` | 32-bit x86 | ![Development](https://img.shields.io/badge/-development-blue) | - @@ -97,6 +78,8 @@ privileged lookup of `host.id` is required, the value should be injected via the | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| +| [`host.cpu.arch`](/docs/registry/attributes/host.md) | string | The CPU architecture the host system is running on. | `amd64`; `arm32`; `arm64` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.id`](/docs/registry/attributes/host.md) | string | Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for the sources to use to determine the `machine-id` based on operating system. | `fdbf79e8af94cb7f9e8df36789187052` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.cpu.cache.l2.size`](/docs/registry/attributes/host.md) | int | The amount of level 2 memory cache available to the processor (in Bytes). | `12288000` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.cpu.family`](/docs/registry/attributes/host.md) | string | Family or generation of the CPU. | `6`; `PA-RISC 1.1e` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.cpu.model.id`](/docs/registry/attributes/host.md) | string | Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. | `6`; `9000/778/B180L` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -106,6 +89,21 @@ privileged lookup of `host.id` is required, the value should be injected via the **[1] `host.cpu.vendor.id`:** [CPUID](https://wiki.osdev.org/CPUID) command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string. +--- + +`host.cpu.arch` 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 | +|---|---|---| +| `amd64` | AMD64 | ![Development](https://img.shields.io/badge/-development-blue) | +| `arm32` | ARM32 | ![Development](https://img.shields.io/badge/-development-blue) | +| `arm64` | ARM64 | ![Development](https://img.shields.io/badge/-development-blue) | +| `ia64` | Itanium | ![Development](https://img.shields.io/badge/-development-blue) | +| `ppc32` | 32-bit PowerPC | ![Development](https://img.shields.io/badge/-development-blue) | +| `ppc64` | 64-bit PowerPC | ![Development](https://img.shields.io/badge/-development-blue) | +| `s390x` | IBM z/Architecture | ![Development](https://img.shields.io/badge/-development-blue) | +| `x86` | 32-bit x86 | ![Development](https://img.shields.io/badge/-development-blue) | + diff --git a/docs/resource/zos.md b/docs/resource/zos.md index e14c825e03..c54ce1a384 100644 --- a/docs/resource/zos.md +++ b/docs/resource/zos.md @@ -40,13 +40,13 @@ The following table describes how to populate attributes on the `host` entity on | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`host.arch`](/docs/registry/attributes/host.md) | string | The CPU architecture the host system is running on. | `s390x` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`host.cpu.arch`](/docs/registry/attributes/host.md) | string | The CPU architecture the host system is running on. | `s390x` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.name`](/docs/registry/attributes/host.md) | string | Name of the host. On z/OS, SHOULD be the full qualified hostname used to register the z/OS system in DNS. | `SYS1.DOMAIN.COM` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`host.id`](/docs/registry/attributes/host.md) | string | Unique host ID. On z/OS, SHOULD be the concatenation of sysplex name and SMFID, separated by a dash | `SYSPLEX1-SYS1` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | --- -`host.arch` 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. +`host.cpu.arch` 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 | |---|---|---| diff --git a/model/cpu/registry.yaml b/model/cpu/registry.yaml index f1903316ed..c619026c84 100644 --- a/model/cpu/registry.yaml +++ b/model/cpu/registry.yaml @@ -1,7 +1,10 @@ groups: - id: registry.cpu type: attribute_group - brief: Attributes specific to a cpu instance. + brief: > + CPU fields can carry data about a specific cpu instance. + + Note: These CPU attributes are typically used to capture system metrics about a CPU. The CPU attributes under host are for describing the cpu in the host. display_name: CPU Attributes attributes: - id: cpu.mode diff --git a/model/host/deprecated/registry-deprecated.yaml b/model/host/deprecated/registry-deprecated.yaml new file mode 100644 index 0000000000..6c2f693cec --- /dev/null +++ b/model/host/deprecated/registry-deprecated.yaml @@ -0,0 +1,48 @@ +groups: + - id: registry.host.deprecated + type: attribute_group + display_name: Deprecated Host Attributes + brief: > + A host is defined as a computing instance. For example, physical servers, virtual machines, switches or disk array. + attributes: + - id: host.arch + deprecated: + reason: renamed + renamed_to: host.cpu.arch + type: + members: + - id: amd64 + value: 'amd64' + brief: "AMD64" + stability: development + - id: arm32 + value: 'arm32' + brief: "ARM32" + stability: development + - id: arm64 + value: 'arm64' + brief: "ARM64" + stability: development + - id: ia64 + value: 'ia64' + brief: "Itanium" + stability: development + - id: ppc32 + value: 'ppc32' + brief: "32-bit PowerPC" + stability: development + - id: ppc64 + value: 'ppc64' + brief: "64-bit PowerPC" + stability: development + - id: s390x + value: 's390x' + brief: "IBM z/Architecture" + stability: development + - id: x86 + value: 'x86' + brief: "32-bit x86" + stability: development + stability: development + brief: > + The CPU architecture the host system is running on. diff --git a/model/host/entities.yaml b/model/host/entities.yaml index a4edb28c85..2cf3d09576 100644 --- a/model/host/entities.yaml +++ b/model/host/entities.yaml @@ -35,15 +35,26 @@ groups: `OTEL_RESOURCE_ATTRIBUTES` environment variable. - ref: host.name - ref: host.type - - ref: host.arch - - ref: host.image.name - - ref: host.image.id - - ref: host.image.version + role: descriptive - ref: host.ip + role: descriptive requirement_level: opt_in - ref: host.mac + role: descriptive requirement_level: opt_in - + - id: entity.host.image + type: entity + stability: development + name: host.image + brief: > + The image that was used to be originally setup up a host. + attributes: + - ref: host.image.name + role: descriptive + - ref: host.image.id + role: identifying + - ref: host.image.version + role: identifying - id: entity.host.cpu type: entity stability: development @@ -51,6 +62,8 @@ groups: brief: > A host's CPU information attributes: + - ref: host.id + - ref: host.cpu.arch - ref: host.cpu.vendor.id requirement_level: opt_in - ref: host.cpu.family diff --git a/model/host/registry.yaml b/model/host/registry.yaml index 9746970c49..476ebf40e0 100644 --- a/model/host/registry.yaml +++ b/model/host/registry.yaml @@ -27,7 +27,7 @@ groups: brief: > Type of host. For Cloud, this must be the machine type. examples: ['n1-standard-1'] - - id: host.arch + - id: host.cpu.arch type: members: - id: amd64 diff --git a/model/zos/common.yaml b/model/zos/common.yaml index d07e8112c7..af77f975c8 100644 --- a/model/zos/common.yaml +++ b/model/zos/common.yaml @@ -76,7 +76,7 @@ groups: - ref: host.name brief: 'Name of the host. On z/OS, SHOULD be the full qualified hostname used to register the z/OS system in DNS.' examples: 'SYS1.DOMAIN.COM' - - ref: host.arch + - ref: host.cpu.arch examples: 's390x' - ref: host.id brief: 'Unique host ID. On z/OS, SHOULD be the concatenation of sysplex name and SMFID, separated by a dash'