Skip to content

Latest commit

 

History

History
112 lines (84 loc) · 8.38 KB

File metadata and controls

112 lines (84 loc) · 8.38 KB

Host

The host.* namespace SHOULD be exclusively used to capture resource attributes. To report host metrics, the system.* namespace SHOULD be used.

Status: Experimental

type: host

Description: A host is defined as a computing instance. For example, physical servers, virtual machines, switches or disk array.

Attribute Type Description Examples Requirement Level Stability
host.arch string The CPU architecture the host system is running on. amd64; arm32; arm64 Recommended Experimental
host.id 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 Experimental
host.image.id string VM image ID or host OS image ID. For Cloud, this value is from the provider. ami-07b06b442921831e5 Recommended Experimental
host.image.name 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 Experimental
host.image.version string The version string of the VM image or host OS as defined in Version Attributes. 0.1 Recommended Experimental
host.name 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 Experimental
host.type string Type of host. For Cloud, this must be the machine type. n1-standard-1 Recommended Experimental
host.ip string[] Available IP addresses of the host, excluding loopback interfaces. [2] ["192.168.1.140", "fe80::abc2:4a28:737a:609e"] Opt-In Experimental
host.mac 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 Experimental

[1] host.id: Collecting host.id from non-containerized systems

Non-privileged Machine ID Lookup

When collecting host.id for non-containerized systems non-privileged lookups of the machine id are preferred. SDK detector implementations MUST use the sources listed below to obtain the machine id.

OS Primary Fallback
Linux contents of /etc/machine-id contents of /var/lib/dbus/machine-id
BSD contents of /etc/hostid output of kenv -q smbios.system.uuid
MacOS IOPlatformUUID line from the output of ioreg -rd1 -c "IOPlatformExpertDevice" -
Windows MachineGuid from registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography -

Privileged Machine ID Lookup

The host.id can be looked up using privileged sources. For example, Linux systems can use the output of dmidecode -t system, dmidecode -t baseboard, dmidecode -t chassis, or read the corresponding data from the filesystem (e.g. cat /sys/devices/virtual/dmi/id/product_id, cat /sys/devices/virtual/dmi/id/product_uuid, etc), however, SDK resource 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 format.

[3] host.mac: MAC Addresses MUST be represented in IEEE RA hexadecimal form: 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 Experimental
arm32 ARM32 Experimental
arm64 ARM64 Experimental
ia64 Itanium Experimental
ppc32 32-bit PowerPC Experimental
ppc64 64-bit PowerPC Experimental
s390x IBM z/Architecture Experimental
x86 32-bit x86 Experimental

type: host.cpu

Status: Experimental

type: host.cpu

Description: A host's CPU information

Attribute Type Description Examples Requirement Level Stability
host.cpu.cache.l2.size int The amount of level 2 memory cache available to the processor (in Bytes). 12288000 Opt-In Experimental
host.cpu.family string Family or generation of the CPU. 6; PA-RISC 1.1e Opt-In Experimental
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 Opt-In Experimental
host.cpu.model.name string Model designation of the processor. 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz Opt-In Experimental
host.cpu.stepping string Stepping or core revisions. 1; r1p1 Opt-In Experimental
host.cpu.vendor.id string Processor manufacturer identifier. A maximum 12-character string. [1] GenuineIntel Opt-In Experimental

[1] host.cpu.vendor.id: 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.