-
Notifications
You must be signed in to change notification settings - Fork 183
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'pod-annotations' of https://github.com/tokaplan/semanti…
…c-conventions into pod-annotations
- Loading branch information
Showing
33 changed files
with
842 additions
and
320 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<!--- Hugo front matter used to generate the website version of this page: | ||
---> | ||
|
||
# Device | ||
|
||
## Device Attributes | ||
|
||
<!-- semconv registry.device(omit_requirement_level) --> | ||
| Attribute | Type | Description | Examples | | ||
|---|---|---|---| | ||
| `device.id` | string | A unique identifier representing the device [1] | `2ab2916d-a51f-4ac8-80ee-45ac31a28092` | | ||
| `device.manufacturer` | string | The name of the device manufacturer [2] | `Apple`; `Samsung` | | ||
| `device.model.identifier` | string | The model identifier for the device [3] | `iPhone3,4`; `SM-G920F` | | ||
| `device.model.name` | string | The marketing name for the device model [4] | `iPhone 6s Plus`; `Samsung Galaxy S6` | | ||
|
||
**[1]:** The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found [here](https://developer.android.com/training/articles/user-data-ids) on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence. | ||
|
||
**[2]:** The Android OS provides this field via [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). iOS apps SHOULD hardcode the value `Apple`. | ||
|
||
**[3]:** It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device. | ||
|
||
**[4]:** It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative. | ||
<!-- endsemconv --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<!--- Hugo front matter used to generate the website version of this page: | ||
---> | ||
|
||
# Error | ||
|
||
## Error Attributes | ||
|
||
<!-- semconv registry.error(omit_requirement_level) --> | ||
| Attribute | Type | Description | Examples | | ||
|---|---|---|---| | ||
| `error.type` | string | ![Stable](https://img.shields.io/badge/-stable-lightgreen)<br>Describes a class of error the operation ended with. [1] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | | ||
|
||
**[1]:** The `error.type` SHOULD be predictable and SHOULD have low cardinality. | ||
Instrumentations SHOULD document the list of errors they report. | ||
|
||
The cardinality of `error.type` within one instrumentation library SHOULD be low. | ||
Telemetry consumers that aggregate data from multiple instrumentation libraries and applications | ||
should be prepared for `error.type` to have high cardinality at query time when no | ||
additional filters are applied. | ||
|
||
If the operation has completed successfully, instrumentations SHOULD NOT set `error.type`. | ||
|
||
If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes), | ||
it's RECOMMENDED to: | ||
|
||
* Use a domain-specific attribute | ||
* Set `error.type` to capture all errors, regardless of whether they are defined within the domain-specific set or not. | ||
|
||
`error.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used. | ||
|
||
| Value | Description | | ||
|---|---| | ||
| `_OTHER` | A fallback error value to be used when the instrumentation doesn't define a custom value. | | ||
<!-- endsemconv --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
<!--- Hugo front matter used to generate the website version of this page: | ||
---> | ||
# Host | ||
|
||
## Host Attributes | ||
|
||
<!-- semconv registry.host(omit_requirement_level) --> | ||
| Attribute | Type | Description | Examples | | ||
|---|---|---|---| | ||
| `host.arch` | string | The CPU architecture the host system is running on. | `amd64` | | ||
| `host.cpu.cache.l2.size` | int | The amount of level 2 memory cache available to the processor (in Bytes). | `12288000` | | ||
| `host.cpu.family` | string | Family or generation of the CPU. | `6`; `PA-RISC 1.1e` | | ||
| `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` | | ||
| `host.cpu.model.name` | string | Model designation of the processor. | `11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz` | | ||
| `host.cpu.stepping` | int | Stepping or core revisions. | `1` | | ||
| `host.cpu.vendor.id` | string | Processor manufacturer identifier. A maximum 12-character string. [1] | `GenuineIntel` | | ||
| `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. | `fdbf79e8af94cb7f9e8df36789187052` | | ||
| `host.image.id` | string | VM image ID or host OS image ID. For Cloud, this value is from the provider. | `ami-07b06b442921831e5` | | ||
| `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` | | ||
| `host.image.version` | string | The version string of the VM image or host OS as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `0.1` | | ||
| `host.ip` | string[] | Available IP addresses of the host, excluding loopback interfaces. [2] | `[192.168.1.140, fe80::abc2:4a28:737a:609e]` | | ||
| `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]` | | ||
| `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` | | ||
| `host.type` | string | Type of host. For Cloud, this must be the machine type. | `n1-standard-1` | | ||
|
||
**[1]:** [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. | ||
|
||
**[2]:** 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. | ||
|
||
**[3]:** 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 | | ||
|---|---| | ||
| `amd64` | AMD64 | | ||
| `arm32` | ARM32 | | ||
| `arm64` | ARM64 | | ||
| `ia64` | Itanium | | ||
| `ppc32` | 32-bit PowerPC | | ||
| `ppc64` | 64-bit PowerPC | | ||
| `s390x` | IBM z/Architecture | | ||
| `x86` | 32-bit x86 | | ||
<!-- endsemconv --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<!--- Hugo front matter used to generate the website version of this page: | ||
linkTitle: OS | ||
---> | ||
# OS | ||
|
||
## Operating System Attributes | ||
|
||
<!-- semconv registry.os(omit_requirement_level) --> | ||
| Attribute | Type | Description | Examples | | ||
|---|---|---|---| | ||
| `os.build_id` | string | Unique identifier for a particular build or compilation of the operating system. | `TQ3C.230805.001.B2`; `20E247`; `22621` | | ||
| `os.description` | string | Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. | `Microsoft Windows [Version 10.0.18363.778]`; `Ubuntu 18.04.1 LTS` | | ||
| `os.name` | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` | | ||
| `os.type` | string | The operating system type. | `windows` | | ||
| `os.version` | string | The version string of the operating system as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `14.2.1`; `18.04.1` | | ||
|
||
`os.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used. | ||
|
||
| Value | Description | | ||
|---|---| | ||
| `windows` | Microsoft Windows | | ||
| `linux` | Linux | | ||
| `darwin` | Apple Darwin | | ||
| `freebsd` | FreeBSD | | ||
| `netbsd` | NetBSD | | ||
| `openbsd` | OpenBSD | | ||
| `dragonflybsd` | DragonFly BSD | | ||
| `hpux` | HP-UX (Hewlett Packard Unix) | | ||
| `aix` | AIX (Advanced Interactive eXecutive) | | ||
| `solaris` | SunOS, Oracle Solaris | | ||
| `z_os` | IBM z/OS | | ||
<!-- endsemconv --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<!--- Hugo front matter used to generate the website version of this page: | ||
---> | ||
|
||
# Process | ||
|
||
## Process Attributes | ||
|
||
<!-- semconv registry.process(omit_requirement_level) --> | ||
| Attribute | Type | Description | Examples | | ||
|---|---|---|---| | ||
| `process.command` | string | The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. | `cmd/otelcol` | | ||
| `process.command_args` | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. | `[cmd/otecol, --config=config.yaml]` | | ||
| `process.command_line` | string | The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. | `C:\cmd\otecol --config="my directory\config.yaml"` | | ||
| `process.executable.name` | string | The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | | ||
| `process.executable.path` | string | The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. | `/usr/bin/cmd/otelcol` | | ||
| `process.owner` | string | The username of the user that owns the process. | `root` | | ||
| `process.parent_pid` | int | Parent Process identifier (PID). | `111` | | ||
| `process.pid` | int | Process identifier (PID). | `1234` | | ||
<!-- endsemconv --> |
Oops, something went wrong.