From f2e42a790b3b1f42653991d71a3480d30a4629f3 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Fri, 16 May 2025 13:40:06 -0400 Subject: [PATCH 01/28] First cut at entities registry. --- docs/registry/README.md | 1 + docs/registry/attributes/README.md | 2 +- docs/registry/entities/README.md | 278 ++++++++++++++ docs/registry/entities/android.md | 26 ++ docs/registry/entities/app.md | 44 +++ docs/registry/entities/aws.md | 82 ++++ docs/registry/entities/browser.md | 41 ++ docs/registry/entities/cicd.md | 61 +++ docs/registry/entities/cloud.md | 107 ++++++ docs/registry/entities/cloudfoundry.md | 146 +++++++ docs/registry/entities/container.md | 50 +++ docs/registry/entities/deployment.md | 34 ++ docs/registry/entities/device.md | 52 +++ docs/registry/entities/faas.md | 79 ++++ docs/registry/entities/gcp.md | 150 ++++++++ docs/registry/entities/heroku.md | 28 ++ docs/registry/entities/host.md | 102 +++++ docs/registry/entities/k8s.md | 359 ++++++++++++++++++ docs/registry/entities/os.md | 56 +++ docs/registry/entities/otel.md | 26 ++ docs/registry/entities/process.md | 64 ++++ docs/registry/entities/service.md | 60 +++ docs/registry/entities/telemetry.md | 74 ++++ docs/registry/entities/vcs.md | 76 ++++ docs/registry/entities/webengine.md | 28 ++ .../registry/markdown/attributes_readme.md.j2 | 2 +- .../registry/markdown/entity_namespace.md.j2 | 22 ++ .../registry/markdown/entity_readme.md.j2 | 42 ++ .../registry/markdown/registry_readme.md.j2 | 2 +- templates/registry/markdown/stability.j2 | 11 + templates/registry/markdown/weaver.yaml | 8 + 31 files changed, 2110 insertions(+), 3 deletions(-) create mode 100644 docs/registry/entities/README.md create mode 100644 docs/registry/entities/android.md create mode 100644 docs/registry/entities/app.md create mode 100644 docs/registry/entities/aws.md create mode 100644 docs/registry/entities/browser.md create mode 100644 docs/registry/entities/cicd.md create mode 100644 docs/registry/entities/cloud.md create mode 100644 docs/registry/entities/cloudfoundry.md create mode 100644 docs/registry/entities/container.md create mode 100644 docs/registry/entities/deployment.md create mode 100644 docs/registry/entities/device.md create mode 100644 docs/registry/entities/faas.md create mode 100644 docs/registry/entities/gcp.md create mode 100644 docs/registry/entities/heroku.md create mode 100644 docs/registry/entities/host.md create mode 100644 docs/registry/entities/k8s.md create mode 100644 docs/registry/entities/os.md create mode 100644 docs/registry/entities/otel.md create mode 100644 docs/registry/entities/process.md create mode 100644 docs/registry/entities/service.md create mode 100644 docs/registry/entities/telemetry.md create mode 100644 docs/registry/entities/vcs.md create mode 100644 docs/registry/entities/webengine.md create mode 100644 templates/registry/markdown/entity_namespace.md.j2 create mode 100644 templates/registry/markdown/entity_readme.md.j2 diff --git a/docs/registry/README.md b/docs/registry/README.md index f4ac7203ee..ade021a9c6 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,3 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) +- [Entities](entities/README.md) \ No newline at end of file diff --git a/docs/registry/attributes/README.md b/docs/registry/attributes/README.md index 01711631d9..3f7b1cd83f 100644 --- a/docs/registry/attributes/README.md +++ b/docs/registry/attributes/README.md @@ -3,7 +3,7 @@ auto_gen: below ---> - + # Attribute registry diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md new file mode 100644 index 0000000000..be6afcfd63 --- /dev/null +++ b/docs/registry/entities/README.md @@ -0,0 +1,278 @@ + + + + + +# Entity registry + +The entities registry is the catalog of available Entities. + +> [!WARNING] +> +> The following registry overview is a work in progress. +> +> Relationships and signal associations are a work in progress. + +Currently, the following namespaces exist: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NamespaceEntityStability
Android
androidDevelopment
App
appDevelopment
AWS
aws.ecsDevelopment
aws.logDevelopment
aws.eksDevelopment
Browser
browserDevelopment
CICD
cicd.pipelineDevelopment
cicd.pipeline.runDevelopment
cicd.workerDevelopment
Cloud
cloudDevelopment
CloudFoundry
cloudfoundry.systemDevelopment
cloudfoundry.appDevelopment
cloudfoundry.spaceDevelopment
cloudfoundry.orgDevelopment
cloudfoundry.processDevelopment
Container
containerDevelopment
Deployment
deploymentDevelopment
Device
deviceDevelopment
Faas
faasDevelopment
GCP
gcp.gceDevelopment
gcp.apphub.applicationDevelopment
gcp.apphub.serviceDevelopment
gcp.apphub.workloadDevelopment
gcp.cloud_runDevelopment
Heroku
herokuDevelopment
Host
hostDevelopment
host.cpuDevelopment
K8s
k8s.clusterDevelopment
k8s.nodeDevelopment
k8s.namespaceDevelopment
k8s.podDevelopment
k8s.containerDevelopment
k8s.replicasetDevelopment
k8s.deploymentDevelopment
k8s.statefulsetDevelopment
k8s.daemonsetDevelopment
k8s.jobDevelopment
k8s.cronjobDevelopment
k8s.replicationcontrollerDevelopment
k8s.hpaDevelopment
k8s.resourcequotaDevelopment
OS
osDevelopment
OTel
otel.scopeDevelopment
Process
processDevelopment
process.runtimeDevelopment
Service
serviceStable
Telemetry
telemetry.sdkStable
telemetry.distroDevelopment
VCS
vcs.repoDevelopment
vcs.refDevelopment
Webengine
webengineDevelopment
\ No newline at end of file diff --git a/docs/registry/entities/android.md b/docs/registry/entities/android.md new file mode 100644 index 0000000000..1089235af5 --- /dev/null +++ b/docs/registry/entities/android.md @@ -0,0 +1,26 @@ + + + + + + +# Android + + + + +## Android + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `android` + +**Description:** The Android platform on which the Android application is running. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`android.os.api_level`](/docs/registry/attribute/android.md) | string | Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). | `33`; `32` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/app.md b/docs/registry/entities/app.md new file mode 100644 index 0000000000..8b3d303f55 --- /dev/null +++ b/docs/registry/entities/app.md @@ -0,0 +1,44 @@ + + + + + + +# App + + + + +## App + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `app` + +**Description:** An app used directly by end users — like mobile, web, or desktop. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`app.installation.id`](/docs/registry/attribute/app.md) | string | A unique identifier representing the installation of an application on a specific device [1] | `2ab2916d-a51f-4ac8-80ee-45ac31a28092` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `app.installation.id`:** Its value SHOULD persist across launches of the same application installation, including through application upgrades. +It SHOULD change if the application is uninstalled or if all applications of the vendor are uninstalled. +Additionally, users might be able to reset this value (e.g. by clearing application data). +If an app is installed multiple times on the same device (e.g. in different accounts on Android), each `app.installation.id` SHOULD have a different value. +If multiple OpenTelemetry SDKs are used within the same application, they SHOULD use the same value for `app.installation.id`. +Hardware IDs (e.g. serial number, IMEI, MAC address) MUST NOT be used as the `app.installation.id`. + +For iOS, this value SHOULD be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/identifierforvendor). + +For Android, examples of `app.installation.id` implementations include: + +- [Firebase Installation ID](https://firebase.google.com/docs/projects/manage-installations). +- A globally unique UUID which is persisted across sessions in your application. +- [App set ID](https://developer.android.com/identity/app-set-id). +- [`Settings.getString(Settings.Secure.ANDROID_ID)`](https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID). + +More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). + + diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md new file mode 100644 index 0000000000..d7aff0d5c0 --- /dev/null +++ b/docs/registry/entities/aws.md @@ -0,0 +1,82 @@ + + + + + + +# Aws + + + + +## Aws Ecs + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `aws.ecs` + +**Description:** Entities used by AWS Elastic Container Service (ECS). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`aws.ecs.task.id`](/docs/registry/attribute/aws.md) | string | The ID of a running ECS task. The ID MUST be extracted from `task.arn`. | `10838bed-421f-43ef-870a-f43feacbbb5b`; `23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Conditionally Required` If and only if `task.arn` is populated. | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.container.arn`](/docs/registry/attribute/aws.md) | string | The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | `arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.launchtype`](/docs/registry/attribute/aws.md) | string | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `ec2`; `fargate` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.arn`](/docs/registry/attribute/aws.md) | string | The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b`; `arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.family`](/docs/registry/attribute/aws.md) | string | The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task. | `opentelemetry-family` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.revision`](/docs/registry/attribute/aws.md) | string | The revision for the task definition used to create the ECS task. | `8`; `26` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +--- + +`aws.ecs.launchtype` 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 | +|---|---|---| +| `ec2` | ec2 | ![Development](https://img.shields.io/badge/-development-blue) | +| `fargate` | fargate | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## Aws Log + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `aws.log` + +**Description:** Entities specific to Amazon Web Services. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`aws.log.group.arns`](/docs/registry/attribute/aws.md) | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [1] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.group.names`](/docs/registry/attribute/aws.md) | string[] | The name(s) of the AWS log group(s) an application is writing to. [2] | `["/aws/lambda/my-function", "opentelemetry-service"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.stream.arns`](/docs/registry/attribute/aws.md) | string[] | The ARN(s) of the AWS log stream(s). [3] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.stream.names`](/docs/registry/attribute/aws.md) | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `aws.log.group.arns`:** See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). + +**[2] `aws.log.group.names`:** Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. + +**[3] `aws.log.stream.arns`:** See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. + + + +## Aws Eks + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `aws.eks` + +**Description:** Entities used by AWS Elastic Kubernetes Service (EKS). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`aws.eks.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an EKS cluster. | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/browser.md b/docs/registry/entities/browser.md new file mode 100644 index 0000000000..4824b5a514 --- /dev/null +++ b/docs/registry/entities/browser.md @@ -0,0 +1,41 @@ + + + + + + +# Browser + + + + +## Browser + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `browser` + +**Description:** The web browser in which the application represented by the resource is running. The `browser.*` attributes MUST be used only for resources that represent applications running in a web browser (regardless of whether running on a mobile or desktop device). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`browser.brands`](/docs/registry/attribute/browser.md) | string[] | Array of brand name and version separated by a space [1] | `[" Not A;Brand 99", "Chromium 99", "Chrome 99"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.language`](/docs/registry/attribute/browser.md) | string | Preferred language of the user using the browser [2] | `en`; `en-US`; `fr`; `fr-FR` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.mobile`](/docs/registry/attribute/browser.md) | boolean | A boolean that is true if the browser is running on a mobile device [3] | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.platform`](/docs/registry/attribute/browser.md) | string | The platform on which the browser is running [4] | `Windows`; `macOS`; `Android` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`user_agent.original`](/docs/registry/attribute/user-agent.md) | string | Full user-agent string provided by the browser [5] | `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + +**[1] `browser.brands`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.brands`). + +**[2] `browser.language`:** This value is intended to be taken from the Navigator API `navigator.language`. + +**[3] `browser.mobile`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be left unset. + +**[4] `browser.platform`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.platform`). If unavailable, the legacy `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent. +The list of possible values is defined in the [W3C User-Agent Client Hints specification](https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform). Note that some (but not all) of these values can overlap with values in the [`os.type` and `os.name` attributes](./os.md). However, for consistency, the values in the `browser.platform` attribute should capture the exact value that the user agent provides. + +**[5] `user_agent.original`:** The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy `navigator.userAgent` API can be used. + + diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md new file mode 100644 index 0000000000..209e6ccbf1 --- /dev/null +++ b/docs/registry/entities/cicd.md @@ -0,0 +1,61 @@ + + + + + + +# Cicd + + + + +## Cicd Pipeline + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cicd.pipeline` + +**Description:** A pipeline is a series of automated steps that helps software teams deliver code. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cicd.pipeline.name`](/docs/registry/attribute/cicd.md) | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## Cicd Pipeline Run + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cicd.pipeline.run` + +**Description:** A pipeline run is a singular execution of a given pipeline's tasks. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cicd.pipeline.run.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.pipeline.run.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the pipeline run, providing the complete address in order to locate and identify the pipeline run. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## Cicd Worker + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cicd.worker` + +**Description:** A CICD worker is a component of the CICD system that performs work (eg. running pipeline tasks or performing sync). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cicd.worker.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a worker within a CICD system. | `abc123`; `10.0.1.2`; `controller` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.worker.name`](/docs/registry/attribute/cicd.md) | string | The name of a worker within a CICD system. | `agent-abc`; `controller`; `Ubuntu LTS` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.worker.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker. | `https://cicd.example.org/worker/abc123` | `Recommended` If available | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/cloud.md b/docs/registry/entities/cloud.md new file mode 100644 index 0000000000..a53bdb669d --- /dev/null +++ b/docs/registry/entities/cloud.md @@ -0,0 +1,107 @@ + + + + + + +# Cloud + + + + +## Cloud + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cloud` + +**Description:** A cloud environment (e.g. GCP, Azure, AWS) + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloud.account.id`](/docs/registry/attribute/cloud.md) | string | The cloud account ID the resource is assigned to. | `111111111111`; `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.availability_zone`](/docs/registry/attribute/cloud.md) | string | Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. [1] | `us-east-1c` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.platform`](/docs/registry/attribute/cloud.md) | string | The cloud platform in use. [2] | `alibaba_cloud_ecs`; `alibaba_cloud_fc`; `alibaba_cloud_openshift` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.provider`](/docs/registry/attribute/cloud.md) | string | Name of the cloud provider. | `alibaba_cloud`; `aws`; `azure` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.region`](/docs/registry/attribute/cloud.md) | string | The geographical region within a cloud provider. When associated with a resource, this attribute specifies the region where the resource operates. When calling services or APIs deployed on a cloud, this attribute identifies the region where the called destination is deployed. [3] | `us-central1`; `us-east-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.resource_id`](/docs/registry/attribute/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [4] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `cloud.availability_zone`:** Availability zones are called "zones" on Alibaba Cloud and Google Cloud. + +**[2] `cloud.platform`:** The prefix of the service SHOULD match the one specified in `cloud.provider`. + +**[3] `cloud.region`:** Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/global-infrastructure/geographies/), [Google Cloud regions](https://cloud.google.com/about/locations), or [Tencent Cloud regions](https://www.tencentcloud.com/document/product/213/6091). + +**[4] `cloud.resource_id`:** On some cloud providers, it may not be possible to determine the full ID at startup, +so it may be necessary to set `cloud.resource_id` as a span attribute instead. + +The exact value to use for `cloud.resource_id` depends on the cloud provider. +The following well-known definitions MUST be used if you set this attribute and they apply: + +- **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + Take care not to use the "invoked ARN" directly but replace any + [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) + with the resolved function version, as the same runtime instance may be invocable with + multiple different aliases. +- **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) +- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, + *not* the function app, having the form + `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. + This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share + a TracerProvider. + +--- + +`cloud.platform` 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 | +|---|---|---| +| `alibaba_cloud_ecs` | Alibaba Cloud Elastic Compute Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `alibaba_cloud_fc` | Alibaba Cloud Function Compute | ![Development](https://img.shields.io/badge/-development-blue) | +| `alibaba_cloud_openshift` | Red Hat OpenShift on Alibaba Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_app_runner` | AWS App Runner | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_ec2` | AWS Elastic Compute Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_ecs` | AWS Elastic Container Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_eks` | AWS Elastic Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_lambda` | AWS Lambda | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_aks` | Azure Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_app_service` | Azure App Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_container_apps` | Azure Container Apps | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_container_instances` | Azure Container Instances | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_functions` | Azure Functions | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_openshift` | Azure Red Hat OpenShift | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_vm` | Azure Virtual Machines | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_cloud_run` | Google Cloud Run | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_compute_engine` | Google Cloud Compute Engine (GCE) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_kubernetes_engine` | Google Cloud Kubernetes Engine (GKE) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_openshift` | Red Hat OpenShift on Google Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `ibm_cloud_openshift` | Red Hat OpenShift on IBM Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `oracle_cloud_compute` | Compute on Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | +| `oracle_cloud_oke` | Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tencent_cloud_cvm` | Tencent Cloud Cloud Virtual Machine (CVM) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tencent_cloud_eks` | Tencent Cloud Elastic Kubernetes Service (EKS) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tencent_cloud_scf` | Tencent Cloud Serverless Cloud Function (SCF) | ![Development](https://img.shields.io/badge/-development-blue) | + +--- + +`cloud.provider` 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 | +|---|---|---| +| `alibaba_cloud` | Alibaba Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws` | Amazon Web Services | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure` | Microsoft Azure | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp` | Google Cloud Platform | ![Development](https://img.shields.io/badge/-development-blue) | +| `heroku` | Heroku Platform as a Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `ibm_cloud` | IBM Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `oracle_cloud` | Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tencent_cloud` | Tencent Cloud | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md new file mode 100644 index 0000000000..3f76084ce9 --- /dev/null +++ b/docs/registry/entities/cloudfoundry.md @@ -0,0 +1,146 @@ + + + + + + +# Cloudfoundry + + + + +## Cloudfoundry System + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cloudfoundry.system` + +**Description:** The system component which is monitored. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.system.id`](/docs/registry/attribute/cloudfoundry.md) | string | A guid or another name describing the event source. [1] | `cf/gorouter` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.system.instance.id`](/docs/registry/attribute/cloudfoundry.md) | string | A guid describing the concrete instance of the event source. [2] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `cloudfoundry.system.id`:** CloudFoundry defines the `source_id` in the [Loggregator v2 envelope](https://github.com/cloudfoundry/loggregator-api#v2-envelope). +It is used for logs and metrics emitted by CloudFoundry. It is +supposed to contain the component name, e.g. "gorouter", for +CloudFoundry components. + +When system components are instrumented, values from the +[Bosh spec](https://bosh.io/docs/jobs/#properties-spec) +should be used. The `system.id` should be set to +`spec.deployment/spec.name`. + +**[2] `cloudfoundry.system.instance.id`:** CloudFoundry defines the `instance_id` in the [Loggregator v2 envelope](https://github.com/cloudfoundry/loggregator-api#v2-envelope). +It is used for logs and metrics emitted by CloudFoundry. It is +supposed to contain the vm id for CloudFoundry components. + +When system components are instrumented, values from the +[Bosh spec](https://bosh.io/docs/jobs/#properties-spec) +should be used. The `system.instance.id` should be set to `spec.id`. + + + +## Cloudfoundry App + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cloudfoundry.app` + +**Description:** The application which is monitored. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.app.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the application. [3] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.app.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the application. [4] | `my-app-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[3] `cloudfoundry.app.id`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.application_id`. This is the same value as +reported by `cf app --guid`. + +**[4] `cloudfoundry.app.name`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.application_name`. This is the same value +as reported by `cf apps`. + + + +## Cloudfoundry Space + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cloudfoundry.space` + +**Description:** The space of the application which is monitored. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.space.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the CloudFoundry space the application is running in. [5] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.space.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the CloudFoundry space the application is running in. [6] | `my-space-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[5] `cloudfoundry.space.id`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.space_id`. This is the same value as +reported by `cf space --guid`. + +**[6] `cloudfoundry.space.name`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.space_name`. This is the same value as +reported by `cf spaces`. + + + +## Cloudfoundry Org + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cloudfoundry.org` + +**Description:** The organization of the application which is monitored. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.org.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the CloudFoundry org the application is running in. [7] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.org.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the CloudFoundry organization the app is running in. [8] | `my-org-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[7] `cloudfoundry.org.id`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.org_id`. This is the same value as +reported by `cf org --guid`. + +**[8] `cloudfoundry.org.name`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.org_name`. This is the same value as +reported by `cf orgs`. + + + +## Cloudfoundry Process + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `cloudfoundry.process` + +**Description:** The process of the application which is monitored. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.process.id`](/docs/registry/attribute/cloudfoundry.md) | string | The UID identifying the process. [9] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.process.type`](/docs/registry/attribute/cloudfoundry.md) | string | The type of process. [10] | `web` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[9] `cloudfoundry.process.id`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.process_id`. It is supposed to be equal to +`VCAP_APPLICATION.app_id` for applications deployed to the runtime. +For system components, this could be the actual PID. + +**[10] `cloudfoundry.process.type`:** CloudFoundry applications can consist of multiple jobs. Usually the +main process will be of type `web`. There can be additional background +tasks or side-cars with different process types. + + diff --git a/docs/registry/entities/container.md b/docs/registry/entities/container.md new file mode 100644 index 0000000000..336366aac5 --- /dev/null +++ b/docs/registry/entities/container.md @@ -0,0 +1,50 @@ + + + + + + +# Container + + + + +## Container + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `container` + +**Description:** A container instance. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`container.id`](/docs/registry/attribute/container.md) | string | Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification). The UUID might be abbreviated. | `a3bf90e006b2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.id`](/docs/registry/attribute/container.md) | string | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [1] | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.name`](/docs/registry/attribute/container.md) | string | Name of the image the container was built on. | `gcr.io/opentelemetry/operator` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.repo_digests`](/docs/registry/attribute/container.md) | string[] | Repo digests of the container image as provided by the container runtime. [2] | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.tags`](/docs/registry/attribute/container.md) | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. | `["v1.27.1", "3.5.7-0"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.label.`](/docs/registry/attribute/container.md) | string | Container labels, `` being the label name, the value being the label value. [3] | `nginx` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.name`](/docs/registry/attribute/container.md) | string | Container name used by container runtime. | `opentelemetry-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.runtime`](/docs/registry/attribute/container.md) | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`oci.manifest.digest`](/docs/registry/attribute/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command`](/docs/registry/attribute/container.md) | string | The command used to run the container (i.e. the command name). [5] | `otelcontribcol` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command_args`](/docs/registry/attribute/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. | `["otelcontribcol", "--config", "config.yaml"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command_line`](/docs/registry/attribute/container.md) | string | The full command run by the container as a single string representing the full command. | `otelcontribcol --config config.yaml` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `container.image.id`:** Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect) endpoint. +K8s defines a link to the container registry repository with digest `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. +The ID is assigned by the container runtime and can vary in different environments. Consider using `oci.manifest.digest` if it is important to identify the same image in different environments/runtimes. + +**[2] `container.image.repo_digests`:** [Docker](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect) and [CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238) report those under the `RepoDigests` field. + +**[3] `container.label.`:** For example, a docker container label `app` with value `nginx` SHOULD be recorded as the `container.label.app` attribute with value `"nginx"`. + +**[4] `oci.manifest.digest`:** Follows [OCI Image Manifest Specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md), and specifically the [Digest property](https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests). +An example can be found in [Example Image Manifest](https://github.com/opencontainers/image-spec/blob/main/manifest.md#example-image-manifest). + +**[5] `container.command`:** If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. + + diff --git a/docs/registry/entities/deployment.md b/docs/registry/entities/deployment.md new file mode 100644 index 0000000000..4c764b3221 --- /dev/null +++ b/docs/registry/entities/deployment.md @@ -0,0 +1,34 @@ + + + + + + +# Deployment + + + + +## Deployment + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `deployment` + +**Description:** The software deployment. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`deployment.environment.name`](/docs/registry/attribute/deployment.md) | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `deployment.environment.name`:** `deployment.environment.name` does not affect the uniqueness constraints defined through +the `service.namespace`, `service.name` and `service.instance.id` resource attributes. +This implies that resources carrying the following attribute combinations MUST be +considered to be identifying the same service: + +- `service.name=frontend`, `deployment.environment.name=production` +- `service.name=frontend`, `deployment.environment.name=staging`. + + diff --git a/docs/registry/entities/device.md b/docs/registry/entities/device.md new file mode 100644 index 0000000000..3afda07e90 --- /dev/null +++ b/docs/registry/entities/device.md @@ -0,0 +1,52 @@ + + + + + + +# Device + + + + +## Device + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `device` + +**Description:** The device on which the process represented by this resource is running. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`device.manufacturer`](/docs/registry/attribute/device.md) | string | The name of the device manufacturer [1] | `Apple`; `Samsung` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.model.identifier`](/docs/registry/attribute/device.md) | string | The model identifier for the device [2] | `iPhone3,4`; `SM-G920F` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.model.name`](/docs/registry/attribute/device.md) | string | The marketing name for the device model [3] | `iPhone 6s Plus`; `Samsung Galaxy S6` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.id`](/docs/registry/attribute/device.md) | string | A unique identifier representing the device [4] | `123456789012345`; `01:23:45:67:89:AB` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `device.manufacturer`:** The Android OS provides this field via [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). iOS apps SHOULD hardcode the value `Apple`. + +**[2] `device.model.identifier`:** 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. + +**[3] `device.model.name`:** It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative. + +**[4] `device.id`:** Its value SHOULD be identical for all apps on a device and it SHOULD NOT change if an app is uninstalled and re-installed. +However, it might be resettable by the user for all apps on a device. +Hardware IDs (e.g. vendor-specific serial number, IMEI or MAC address) MAY be used as values. + +More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). + +> [!WARNING] +> +> This attribute may contain sensitive (PII) information. 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. +> +> Due to these reasons, this identifier is not recommended for consumer applications and will likely result in rejection from both Google Play and App Store. +> However, it may be appropriate for specific enterprise scenarios, such as kiosk devices or enterprise-managed devices, with appropriate compliance clearance. +> Any instrumentation providing this identifier MUST implement it as an opt-in feature. +> +> See [`app.installation.id`](/docs/registry/attributes/app.md#app-installation-id) for a more privacy-preserving alternative. + + diff --git a/docs/registry/entities/faas.md b/docs/registry/entities/faas.md new file mode 100644 index 0000000000..9ace5d322f --- /dev/null +++ b/docs/registry/entities/faas.md @@ -0,0 +1,79 @@ + + + + + + +# Faas + + + + +## Faas + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `faas` + +**Description:** A serverless instance. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`faas.name`](/docs/registry/attribute/faas.md) | string | The name of the single function that this runtime instance executes. [1] | `my-function`; `myazurefunctionapp/some-function-name` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.resource_id`](/docs/registry/attribute/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [2] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.instance`](/docs/registry/attribute/faas.md) | string | The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. [3] | `2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.max_memory`](/docs/registry/attribute/faas.md) | int | The amount of memory available to the serverless function converted to Bytes. [4] | `134217728` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.version`](/docs/registry/attribute/faas.md) | string | The immutable version of the function being executed. [5] | `26`; `pinkfroid-00002` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `faas.name`:** This is the name of the function as configured/deployed on the FaaS +platform and is usually different from the name of the callback +function (which may be stored in the +[`code.namespace`/`code.function.name`](/docs/general/attributes.md#source-code-attributes) +span attributes). + +For some cloud providers, the above definition is ambiguous. The following +definition of function name MUST be used for this attribute +(and consequently the span name) for the listed cloud providers/products: + +- **Azure:** The full name `/`, i.e., function app name + followed by a forward slash followed by the function name (this form + can also be seen in the resource JSON for the function). + This means that a span attribute MUST be used, as an Azure function + app can host multiple functions that would usually share + a TracerProvider (see also the `cloud.resource_id` attribute). + +**[2] `cloud.resource_id`:** On some cloud providers, it may not be possible to determine the full ID at startup, +so it may be necessary to set `cloud.resource_id` as a span attribute instead. + +The exact value to use for `cloud.resource_id` depends on the cloud provider. +The following well-known definitions MUST be used if you set this attribute and they apply: + +- **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + Take care not to use the "invoked ARN" directly but replace any + [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) + with the resolved function version, as the same runtime instance may be invocable with + multiple different aliases. +- **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) +- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, + *not* the function app, having the form + `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. + This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share + a TracerProvider. + +**[3] `faas.instance`:** - **AWS Lambda:** Use the (full) log stream name. + +**[4] `faas.max_memory`:** It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must be multiplied by 1,048,576). + +**[5] `faas.version`:** Depending on the cloud provider and platform, use: + +- **AWS Lambda:** The [function version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) + (an integer represented as a decimal string). +- **Google Cloud Run (Services):** The [revision](https://cloud.google.com/run/docs/managing/revisions) + (i.e., the function name plus the revision suffix). +- **Google Cloud Functions:** The value of the + [`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). +- **Azure Functions:** Not applicable. Do not set this attribute. + + diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md new file mode 100644 index 0000000000..2da90495bc --- /dev/null +++ b/docs/registry/entities/gcp.md @@ -0,0 +1,150 @@ + + + + + + +# Gcp + + + + +## Gcp Gce + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `gcp.gce` + +**Description:** Resources used by Google Compute Engine (GCE). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.gce.instance.hostname`](/docs/registry/attribute/gcp.md) | string | The hostname of a GCE instance. This is the full value of the default or [custom hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). | `my-host1234.example.com`; `sample-vm.us-west1-b.c.my-project.internal` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.gce.instance.name`](/docs/registry/attribute/gcp.md) | string | The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the [default internal DNS name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). | `instance-1`; `my-vm-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## Gcp Apphub Application + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `gcp.apphub.application` + +**Description:** Attributes denoting data from an Application in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.apphub.application.container`](/docs/registry/attribute/gcp.md) | string | The container within GCP where the AppHub application is defined. | `projects/my-container-project` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.application.id`](/docs/registry/attribute/gcp.md) | string | The name of the application as configured in AppHub. | `my-application` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.application.location`](/docs/registry/attribute/gcp.md) | string | The GCP zone or region where the application is defined. | `us-central1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## Gcp Apphub Service + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `gcp.apphub.service` + +**Description:** Attributes denoting data from a Service in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.apphub.service.criticality_type`](/docs/registry/attribute/gcp.md) | string | Criticality of a service indicates its importance to the business. [1] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.service.environment_type`](/docs/registry/attribute/gcp.md) | string | Environment of a service is the stage of a software lifecycle. [2] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.service.id`](/docs/registry/attribute/gcp.md) | string | The name of the service as configured in AppHub. | `my-service` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `gcp.apphub.service.criticality_type`:** [See AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type) + +**[2] `gcp.apphub.service.environment_type`:** [See AppHub environment type](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1) + +--- + +`gcp.apphub.service.criticality_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 | Stability | +|---|---|---| +| `HIGH` | High impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `LOW` | Low impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `MEDIUM` | Medium impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `MISSION_CRITICAL` | Mission critical service. | ![Development](https://img.shields.io/badge/-development-blue) | + +--- + +`gcp.apphub.service.environment_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 | Stability | +|---|---|---| +| `DEVELOPMENT` | Development environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `PRODUCTION` | Production environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## Gcp Apphub Workload + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `gcp.apphub.workload` + +**Description:** Attributes denoting data from a Workload in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.apphub.workload.criticality_type`](/docs/registry/attribute/gcp.md) | string | Criticality of a workload indicates its importance to the business. [3] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.workload.environment_type`](/docs/registry/attribute/gcp.md) | string | Environment of a workload is the stage of a software lifecycle. [4] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.workload.id`](/docs/registry/attribute/gcp.md) | string | The name of the workload as configured in AppHub. | `my-workload` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[3] `gcp.apphub.workload.criticality_type`:** [See AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type) + +**[4] `gcp.apphub.workload.environment_type`:** [See AppHub environment type](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1) + +--- + +`gcp.apphub.workload.criticality_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 | Stability | +|---|---|---| +| `HIGH` | High impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `LOW` | Low impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `MEDIUM` | Medium impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `MISSION_CRITICAL` | Mission critical service. | ![Development](https://img.shields.io/badge/-development-blue) | + +--- + +`gcp.apphub.workload.environment_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 | Stability | +|---|---|---| +| `DEVELOPMENT` | Development environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `PRODUCTION` | Production environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## Gcp Cloud Run + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `gcp.cloud_run` + +**Description:** Resource used by Google Cloud Run. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.cloud_run.job.execution`](/docs/registry/attribute/gcp.md) | string | The name of the Cloud Run [execution](https://cloud.google.com/run/docs/managing/job-executions) being run for the Job, as set by the [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `job-name-xxxx`; `sample-job-mdw84` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.cloud_run.job.task_index`](/docs/registry/attribute/gcp.md) | int | The index for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `0`; `1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/heroku.md b/docs/registry/entities/heroku.md new file mode 100644 index 0000000000..3679922e7b --- /dev/null +++ b/docs/registry/entities/heroku.md @@ -0,0 +1,28 @@ + + + + + + +# Heroku + + + + +## Heroku + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `heroku` + +**Description:** [Heroku dyno metadata](https://devcenter.heroku.com/articles/dyno-metadata) + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`heroku.app.id`](/docs/registry/attribute/heroku.md) | string | Unique identifier for the application | `2daa2797-e42b-4624-9322-ec3f968df4da` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`heroku.release.commit`](/docs/registry/attribute/heroku.md) | string | Commit hash for the current release | `e6134959463efd8966b20e75b913cafe3f5ec` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`heroku.release.creation_timestamp`](/docs/registry/attribute/heroku.md) | string | Time and date the release was created | `2022-10-23T18:00:42Z` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md new file mode 100644 index 0000000000..a7c4b010d5 --- /dev/null +++ b/docs/registry/entities/host.md @@ -0,0 +1,102 @@ + + + + + + +# Host + + + + +## Host + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**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](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`host.arch`](/docs/registry/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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 + +**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](https://www.rfc-editor.org/rfc/rfc5952.html) format. + +**[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) | + + + +## Host Cpu + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `host.cpu` + +**Description:** A host's CPU information + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`host.cpu.cache.l2.size`](/docs/registry/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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. + + diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md new file mode 100644 index 0000000000..d5af5f156e --- /dev/null +++ b/docs/registry/entities/k8s.md @@ -0,0 +1,359 @@ + + + + + + +# K8s + + + + +## K8s Cluster + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.cluster` + +**Description:** A Kubernetes Cluster. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.cluster.name`](/docs/registry/attribute/k8s.md) | string | The name of the cluster. | `opentelemetry-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cluster.uid`](/docs/registry/attribute/k8s.md) | string | A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `k8s.cluster.uid`:** K8s doesn't have support for obtaining a cluster ID. If this is ever +added, we will recommend collecting the `k8s.cluster.uid` through the +official APIs. In the meantime, we are able to use the `uid` of the +`kube-system` namespace as a proxy for cluster ID. Read on for the +rationale. + +Every object created in a K8s cluster is assigned a distinct UID. The +`kube-system` namespace is used by Kubernetes itself and will exist +for the lifetime of the cluster. Using the `uid` of the `kube-system` +namespace is a reasonable proxy for the K8s ClusterID as it will only +change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are +UUIDs as standardized by +[ISO/IEC 9834-8 and ITU-T X.667](https://www.itu.int/ITU-T/studygroups/com17/oid.html). +Which states: + +> If generated according to one of the mechanisms defined in Rec. +> ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be +> different from all other UUIDs generated before 3603 A.D., or is +> extremely likely to be different (depending on the mechanism chosen). + +Therefore, UIDs between clusters should be extremely unlikely to +conflict. + + + +## K8s Node + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.node` + +**Description:** A Kubernetes Node object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.node.name`](/docs/registry/attribute/k8s.md) | string | The name of the Node. | `node-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [2] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [3] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[2] `k8s.node.annotation.`:** Examples: + +- An annotation `node.alpha.kubernetes.io/ttl` with value `0` SHOULD be recorded as + the `k8s.node.annotation.node.alpha.kubernetes.io/ttl` attribute with value `"0"`. +- An annotation `data` with empty string value SHOULD be recorded as + the `k8s.node.annotation.data` attribute with value `""`. + +**[3] `k8s.node.label.`:** Examples: + +- A label `kubernetes.io/arch` with value `arm64` SHOULD be recorded + as the `k8s.node.label.kubernetes.io/arch` attribute with value `"arm64"`. +- A label `data` with empty string value SHOULD be recorded as + the `k8s.node.label.data` attribute with value `""`. + + + +## K8s Namespace + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.namespace` + +**Description:** A Kubernetes Namespace. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.namespace.name`](/docs/registry/attribute/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [4] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Namespace. [5] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[4] `k8s.namespace.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. + +**[5] `k8s.namespace.label.`:** The `` being the label name, the value being the label value, even if the value is empty. + + + +## K8s Pod + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.pod` + +**Description:** A Kubernetes Pod object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.pod.name`](/docs/registry/attribute/k8s.md) | string | The name of the Pod. | `opentelemetry-pod-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [6] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [7] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[6] `k8s.pod.annotation.`:** Examples: + +- An annotation `kubernetes.io/enforce-mountable-secrets` with value `true` SHOULD be recorded as + the `k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets` attribute with value `"true"`. +- An annotation `mycompany.io/arch` with value `x64` SHOULD be recorded as + the `k8s.pod.annotation.mycompany.io/arch` attribute with value `"x64"`. +- An annotation `data` with empty string value SHOULD be recorded as + the `k8s.pod.annotation.data` attribute with value `""`. + +**[7] `k8s.pod.label.`:** Examples: + +- A label `app` with value `my-app` SHOULD be recorded as + the `k8s.pod.label.app` attribute with value `"my-app"`. +- A label `mycompany.io/arch` with value `x64` SHOULD be recorded as + the `k8s.pod.label.mycompany.io/arch` attribute with value `"x64"`. +- A label `data` with empty string value SHOULD be recorded as + the `k8s.pod.label.data` attribute with value `""`. + + + +## K8s Container + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.container` + +**Description:** A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.container.name`](/docs/registry/attribute/k8s.md) | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.container.restart_count`](/docs/registry/attribute/k8s.md) | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.container.status.last_terminated_reason`](/docs/registry/attribute/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## K8s Replicaset + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.replicaset` + +**Description:** A Kubernetes ReplicaSet object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.replicaset.name`](/docs/registry/attribute/k8s.md) | string | The name of the ReplicaSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [8] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [9] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[8] `k8s.replicaset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. + +**[9] `k8s.replicaset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. + + + +## K8s Deployment + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.deployment` + +**Description:** A Kubernetes Deployment object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.deployment.name`](/docs/registry/attribute/k8s.md) | string | The name of the Deployment. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Deployment. [10] | `k8s.deployment.annotation.replicas=1`; `k8s.deployment.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Deployment. [11] | `k8s.deployment.label.app=guestbook`; `k8s.deployment.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[10] `k8s.deployment.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. + +**[11] `k8s.deployment.label.`:** The `` being the label name, the value being the label value, even if the value is empty. + + + +## K8s Statefulset + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.statefulset` + +**Description:** A Kubernetes StatefulSet object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.statefulset.name`](/docs/registry/attribute/k8s.md) | string | The name of the StatefulSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [12] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [13] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[12] `k8s.statefulset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. + +**[13] `k8s.statefulset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. + + + +## K8s Daemonset + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.daemonset` + +**Description:** A Kubernetes DaemonSet object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.daemonset.name`](/docs/registry/attribute/k8s.md) | string | The name of the DaemonSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the DaemonSet. [14] | `k8s.daemonset.annotation.replicas=1`; `k8s.daemonset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the DaemonSet. [15] | `k8s.daemonset.label.app=guestbook`; `k8s.daemonset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[14] `k8s.daemonset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. + +**[15] `k8s.daemonset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. + + + +## K8s Job + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.job` + +**Description:** A Kubernetes Job object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.job.name`](/docs/registry/attribute/k8s.md) | string | The name of the Job. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Job. [16] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Job. [17] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[16] `k8s.job.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. + +**[17] `k8s.job.label.`:** The `` being the label name, the value being the label value, even if the value is empty. + + + +## K8s Cronjob + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.cronjob` + +**Description:** A Kubernetes CronJob object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.cronjob.name`](/docs/registry/attribute/k8s.md) | string | The name of the CronJob. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.annotation.`](/docs/registry/attribute/k8s.md) | string | The cronjob annotation placed on the CronJob, the `` being the annotation name, the value being the annotation value. [18] | `4`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the CronJob, the `` being the label name, the value being the label value. [19] | `weekly`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[18] `k8s.cronjob.annotation.`:** Examples: + +- An annotation `retries` with value `4` SHOULD be recorded as the + `k8s.cronjob.annotation.retries` attribute with value `"4"`. +- An annotation `data` with empty string value SHOULD be recorded as + the `k8s.cronjob.annotation.data` attribute with value `""`. + +**[19] `k8s.cronjob.label.`:** Examples: + +- A label `type` with value `weekly` SHOULD be recorded as the + `k8s.cronjob.label.type` attribute with value `"weekly"`. +- A label `automated` with empty string value SHOULD be recorded as + the `k8s.cronjob.label.automated` attribute with value `""`. + + + +## K8s Replicationcontroller + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.replicationcontroller` + +**Description:** A Kubernetes ReplicationController object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.replicationcontroller.name`](/docs/registry/attribute/k8s.md) | string | The name of the replication controller. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicationcontroller.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the replication controller. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## K8s Hpa + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.hpa` + +**Description:** A Kubernetes HorizontalPodAutoscaler object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.hpa.name`](/docs/registry/attribute/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + +## K8s Resourcequota + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `k8s.resourcequota` + +**Description:** A Kubernetes ResourceQuota object. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.resourcequota.name`](/docs/registry/attribute/k8s.md) | string | The name of the resource quota. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md new file mode 100644 index 0000000000..653cfbea84 --- /dev/null +++ b/docs/registry/entities/os.md @@ -0,0 +1,56 @@ + + + + + + +# Os + + + + +## Os + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `os` + +**Description:** The operating system (OS) on which the process represented by this resource is running. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`os.type`](/docs/registry/attribute/os.md) | string | The operating system type. | `windows`; `linux`; `darwin` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.build_id`](/docs/registry/attribute/os.md) | string | Unique identifier for a particular build or compilation of the operating system. [1] | `TQ3C.230805.001.B2`; `20E247`; `22621` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.description`](/docs/registry/attribute/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.name`](/docs/registry/attribute/os.md) | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.version`](/docs/registry/attribute/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `os.build_id`:** `build_id` values SHOULD be obtained from the following sources: + +| OS | Primary | Fallback | +| ------- | ------- | ------- | +| Windows | `CurrentBuildNumber` from registry `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion` | - | +| MacOS | `ProductBuildVersion` from `/System/Library/CoreServices/SystemVersion.plist` | `ProductBuildVersion` from `/System/Library/CoreServices/ServerVersion.plist` | +| Linux | `BUILD_ID` from `/etc/os-release` | `BUILD_ID` from `/usr/lib/os-release`;
contents of `/proc/sys/kernel/osrelease`| + +--- + +`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 | Stability | +|---|---|---| +| `aix` | AIX (Advanced Interactive eXecutive) | ![Development](https://img.shields.io/badge/-development-blue) | +| `darwin` | Apple Darwin | ![Development](https://img.shields.io/badge/-development-blue) | +| `dragonflybsd` | DragonFly BSD | ![Development](https://img.shields.io/badge/-development-blue) | +| `freebsd` | FreeBSD | ![Development](https://img.shields.io/badge/-development-blue) | +| `hpux` | HP-UX (Hewlett Packard Unix) | ![Development](https://img.shields.io/badge/-development-blue) | +| `linux` | Linux | ![Development](https://img.shields.io/badge/-development-blue) | +| `netbsd` | NetBSD | ![Development](https://img.shields.io/badge/-development-blue) | +| `openbsd` | OpenBSD | ![Development](https://img.shields.io/badge/-development-blue) | +| `solaris` | SunOS, Oracle Solaris | ![Development](https://img.shields.io/badge/-development-blue) | +| `windows` | Microsoft Windows | ![Development](https://img.shields.io/badge/-development-blue) | +| `z_os` | IBM z/OS | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md new file mode 100644 index 0000000000..205a750e31 --- /dev/null +++ b/docs/registry/entities/otel.md @@ -0,0 +1,26 @@ + + + + + + +# Otel + + + + +## Otel Scope + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `otel.scope` + +**Description:** Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's concepts. + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`otel.scope.name`](/docs/registry/attribute/otel.md) | string | The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). | `io.opentelemetry.contrib.mongodb` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`otel.scope.version`](/docs/registry/attribute/otel.md) | string | The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). | `1.0.0` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md new file mode 100644 index 0000000000..0d2e78def5 --- /dev/null +++ b/docs/registry/entities/process.md @@ -0,0 +1,64 @@ + + + + + + +# Process + + + + +## Process + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `process` + +**Description:** An operating system process. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`process.command`](/docs/registry/attribute/process.md) | 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` | `Conditionally Required` [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.command_args`](/docs/registry/attribute/process.md) | 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`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `["cmd/otecol", "--config=config.yaml"]` | `Conditionally Required` [2] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.command_line`](/docs/registry/attribute/process.md) | 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. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `C:\cmd\otecol --config="my directory\config.yaml"` | `Conditionally Required` [3] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.executable.name`](/docs/registry/attribute/process.md) | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | `Conditionally Required` [4] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.executable.path`](/docs/registry/attribute/process.md) | 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` | `Conditionally Required` [5] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.linux.cgroup`](/docs/registry/attribute/process.md) | string | The control group associated with the process. [6] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.owner`](/docs/registry/attribute/process.md) | string | The username of the user that owns the process. | `root` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.parent_pid`](/docs/registry/attribute/process.md) | int | Parent Process identifier (PPID). | `111` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.pid`](/docs/registry/attribute/process.md) | int | Process identifier (PID). | `1234` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `process.command`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[2] `process.command_args`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[3] `process.command_line`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[4] `process.executable.name`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[5] `process.executable.path`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[6] `process.linux.cgroup`:** Control groups (cgroups) are a kernel feature used to organize and manage process resources. This attribute provides the path(s) to the cgroup(s) associated with the process, which should match the contents of the [/proc/\[PID\]/cgroup](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. + + + +## Process Runtime + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `process.runtime` + +**Description:** The single (language) runtime instance which is monitored. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`process.runtime.description`](/docs/registry/attribute/process.md) | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.runtime.name`](/docs/registry/attribute/process.md) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.runtime.version`](/docs/registry/attribute/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/service.md b/docs/registry/entities/service.md new file mode 100644 index 0000000000..1f60c1c404 --- /dev/null +++ b/docs/registry/entities/service.md @@ -0,0 +1,60 @@ + + + + + + +# Service + + + + +## Service + +**Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) + +**type:** `service` + +**Description:** A service instance. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`service.name`](/docs/registry/attribute/service.md) | string | Logical name of the service. [1] | `shoppingcart` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`service.instance.id`](/docs/registry/attribute/service.md) | string | The string ID of the service instance. [2] | `627cc493-f310-47de-96bd-71410b7dec09` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`service.namespace`](/docs/registry/attribute/service.md) | string | A namespace for `service.name`. [3] | `Shop` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`service.version`](/docs/registry/attribute/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + +**[1] `service.name`:** MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. + +**[2] `service.instance.id`:** MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words +`service.namespace,service.name,service.instance.id` triplet MUST be globally unique). The ID helps to +distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled +service). + +Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 [RFC +4122](https://www.ietf.org/rfc/rfc4122.txt) UUID, but are free to use an inherent unique ID as the source of +this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and +SHOULD use the following UUID as the namespace: `4d63009a-8d0f-11ee-aad7-4c796ed8e320`. + +UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is +needed. Similar to what can be seen in the man page for the +[`/etc/machine-id`](https://www.freedesktop.org/software/systemd/man/latest/machine-id.html) file, the underlying +data, such as pod name and namespace should be treated as confidential, being the user's choice to expose it +or not via another resource attribute. + +For applications running behind an application server (like unicorn), we do not recommend using one identifier +for all processes participating in the application. Instead, it's recommended each division (e.g. a worker +thread in unicorn) to have its own instance.id. + +It's not recommended for a Collector to set `service.instance.id` if it can't unambiguously determine the +service instance that is generating that telemetry. For instance, creating an UUID based on `pod.name` will +likely be wrong, as the Collector might not know from which container within that pod the telemetry originated. +However, Collectors can set the `service.instance.id` if they can unambiguously determine the service instance +for that telemetry. This is typically the case for scraping receivers, as they know the target address and +port. + +**[3] `service.namespace`:** A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. + + diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md new file mode 100644 index 0000000000..2b38d6a53a --- /dev/null +++ b/docs/registry/entities/telemetry.md @@ -0,0 +1,74 @@ + + + + + + +# Telemetry + + + + +## Telemetry Sdk + +**Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) + +**type:** `telemetry.sdk` + +**Description:** The telemetry SDK used to capture data recorded by the instrumentation libraries. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`telemetry.sdk.language`](/docs/registry/attribute/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.name`](/docs/registry/attribute/telemetry.md) | string | The name of the telemetry SDK as defined above. [1] | `opentelemetry` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + +**[1] `telemetry.sdk.name`:** The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. +If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the +`telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point +or another suitable identifier depending on the language. +The identifier `opentelemetry` is reserved and MUST NOT be used in this case. +All custom identifiers SHOULD be stable across different versions of an implementation. + +--- + +`telemetry.sdk.language` 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 | +|---|---|---| +| `cpp` | cpp | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `dotnet` | dotnet | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `erlang` | erlang | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `go` | go | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `java` | java | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `nodejs` | nodejs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `php` | php | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `python` | python | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `ruby` | ruby | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `rust` | rust | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `swift` | swift | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `webjs` | webjs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + + +## Telemetry Distro + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `telemetry.distro` + +**Description:** The distribution of telemetry SDK used to capture data recorded by the instrumentation libraries. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`telemetry.distro.name`](/docs/registry/attribute/telemetry.md) | string | The name of the auto instrumentation agent or distribution, if used. [2] | `parts-unlimited-java` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`telemetry.distro.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the auto instrumentation agent or distribution, if used. | `1.2.3` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[2] `telemetry.distro.name`:** Official auto instrumentation agents and distributions SHOULD set the `telemetry.distro.name` attribute to +a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. + + diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md new file mode 100644 index 0000000000..2c9e1b07a9 --- /dev/null +++ b/docs/registry/entities/vcs.md @@ -0,0 +1,76 @@ + + + + + + +# Vcs + + + + +## Vcs Repo + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `vcs.repo` + +**Description:** A repository in the Version Control System. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`vcs.repository.name`](/docs/registry/attribute/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [1] | `semantic-conventions`; `my-cool-repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.repository.url.full`](/docs/registry/attribute/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `vcs.repository.name`:** Due to it only being the name, it can clash with forks of the same +repository if collecting telemetry across multiple orgs or groups in +the same backends. + +**[2] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include +the `.git` extension. + + + +## Vcs Ref + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `vcs.ref` + +**Description:** A reference to a specific version in the Version Control System. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`vcs.ref.head.name`](/docs/registry/attribute/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [3] | `my-feature-branch`; `tag-1-test` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.ref.head.revision`](/docs/registry/attribute/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [4] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.ref.type`](/docs/registry/attribute/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[3] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a +given time. + +**[4] `vcs.ref.head.revision`:** `head` refers to where you are right now; the current reference at a +given time.The revision can be a full [hash value (see +glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), +of the recorded change to a ref within a repository pointing to a +commit [commit](https://git-scm.com/docs/git-commit) object. It does +not necessarily have to be a hash; it can simply define a [revision +number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html) +which is an integer that is monotonically increasing. In cases where +it is identical to the `ref.head.name`, it SHOULD still be included. +It is up to the implementer to decide which value to set as the +revision based on the VCS system and situational context. + +--- + +`vcs.ref.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 | Stability | +|---|---|---| +| `branch` | [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tag` | [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag) | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/webengine.md b/docs/registry/entities/webengine.md new file mode 100644 index 0000000000..b4abf9ac4d --- /dev/null +++ b/docs/registry/entities/webengine.md @@ -0,0 +1,28 @@ + + + + + + +# Webengine + + + + +## Webengine + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `webengine` + +**Description:** Resource describing the packaged software running the application code. Web engines are typically executed using process.runtime. + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`webengine.name`](/docs/registry/attribute/webengine.md) | string | The name of the web engine. | `WildFly` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`webengine.description`](/docs/registry/attribute/webengine.md) | string | Additional description of the web engine (e.g. detailed version and edition information). | `WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`webengine.version`](/docs/registry/attribute/webengine.md) | string | The version of the web engine. | `21.0.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/templates/registry/markdown/attributes_readme.md.j2 b/templates/registry/markdown/attributes_readme.md.j2 index f20faae140..7c089220f5 100644 --- a/templates/registry/markdown/attributes_readme.md.j2 +++ b/templates/registry/markdown/attributes_readme.md.j2 @@ -3,7 +3,7 @@ auto_gen: below ---> - + # Attribute registry diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 new file mode 100644 index 0000000000..470e0a8f47 --- /dev/null +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -0,0 +1,22 @@ + + + +{% import 'stability.j2' as stability %} +{% import 'attribute_table.j2' as at %} + +# {{ ctx.id | title_case }} + +{# TODO ToC #} + +{% for e in ctx.groups %} +## {{ e.name | title_case }} + +**Status:** {{ stability.badge(e.stability, e.deprecated) }} + +**type:** `{{ e.name }}` + +**Description:** {{ e.brief }} + +{# TODO: Add identifying vs. descriptive attributes #} +{{ at.generate(e.attributes, "", "/docs/registry/attribute", e.lineage.attributes) }} +{% endfor %} \ No newline at end of file diff --git a/templates/registry/markdown/entity_readme.md.j2 b/templates/registry/markdown/entity_readme.md.j2 new file mode 100644 index 0000000000..002701570b --- /dev/null +++ b/templates/registry/markdown/entity_readme.md.j2 @@ -0,0 +1,42 @@ +{%- import 'stability.j2' as stability -%} + + + + + +# Entity registry + +The entities registry is the catalog of available Entities. + +> [!WARNING] +> +> The following registry overview is a work in progress. +> +> Relationships and signal associations are a work in progress. + +Currently, the following namespaces exist: + + + + + + + + + +{% for bundle in ctx %} + + +{%- for group in bundle.groups -%} + {%- set my_file_name = bundle.id | kebab_case ~ ".md#" ~ (group.name | kebab_case) -%} + + + + + +{%- endfor %} +{%- endfor %} + +
NamespaceEntityStability
{{ bundle.id | title_case | acronym }}
{{ group.name }}{{ stability.htmlbadge(group.stability, group.deprecated) | trim }}
\ No newline at end of file diff --git a/templates/registry/markdown/registry_readme.md.j2 b/templates/registry/markdown/registry_readme.md.j2 index 1b20433a7e..31b1e729ed 100644 --- a/templates/registry/markdown/registry_readme.md.j2 +++ b/templates/registry/markdown/registry_readme.md.j2 @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) - +- [Entities](entities/README.md) diff --git a/templates/registry/markdown/stability.j2 b/templates/registry/markdown/stability.j2 index b4d019e233..bcad44b73c 100644 --- a/templates/registry/markdown/stability.j2 +++ b/templates/registry/markdown/stability.j2 @@ -10,5 +10,16 @@ {%- endif %} {%- endmacro %} +{% macro htmlbadge(stability, deprecated) -%} +{%- if deprecated %}Deprecated +{%- elif stability == "mixed" %}Mixed +{%- elif stability == "stable" %}Stable +{%- elif stability == "release_candidate" %}Release Candidate +{%- elif stability == "deprecated" %}Deprecated +{%- elif stability == "experimental" %}Development +{%- elif stability == "development" %}Development +{%- else %}{{ "Unknown stability." }} +{%- endif %} +{%- endmacro %} {% macro deprecated_note(deprecated, note) %}{{ (deprecated.note if deprecated.note is defined else note) | trim }}{%- endmacro %} diff --git a/templates/registry/markdown/weaver.yaml b/templates/registry/markdown/weaver.yaml index 6314ac1645..ec0c76351e 100644 --- a/templates/registry/markdown/weaver.yaml +++ b/templates/registry/markdown/weaver.yaml @@ -11,6 +11,14 @@ templates: filter: '.' application_mode: single file_name: README.md + - pattern: entity_readme.md.j2 + filter: '.groups | map(select(.type == "entity")) | group_by(.name | split(".") | .[0]) | map({id: .[0].id | split(".") | .[1], groups: .})' + application_mode: single + file_name: 'entities/README.md' + - pattern: entity_namespace.md.j2 + filter: '.groups | map(select(.type == "entity")) | group_by(.name | split(".") | .[0]) | map({id: .[0].id | split(".") | .[1], groups: .})' + application_mode: each + file_name: 'entities/{{ ctx.id | kebab_case }}.md' acronyms: - AI - AWS From 595af7cfcc9132144c10aa604270009767f53452 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Mon, 19 May 2025 08:45:23 -0400 Subject: [PATCH 02/28] Add example identifying vs. descriptive attributes from next version of wevaer. --- docs/registry/entities/README.md | 14 +-- docs/registry/entities/android.md | 6 +- docs/registry/entities/app.md | 24 +--- docs/registry/entities/aws.md | 60 ++------- docs/registry/entities/browser.md | 21 +--- docs/registry/entities/cicd.md | 21 +--- docs/registry/entities/cloud.md | 87 +------------ docs/registry/entities/cloudfoundry.md | 86 +------------ docs/registry/entities/container.md | 30 +---- docs/registry/entities/deployment.md | 14 +-- docs/registry/entities/device.md | 32 +---- docs/registry/entities/faas.md | 59 +-------- docs/registry/entities/gcp.md | 104 ++-------------- docs/registry/entities/heroku.md | 8 +- docs/registry/entities/host.md | 72 +---------- docs/registry/entities/k8s.md | 116 +++++++++++++++--- docs/registry/entities/os.md | 36 +----- docs/registry/entities/otel.md | 7 +- docs/registry/entities/process.md | 34 +---- docs/registry/entities/service.md | 12 +- docs/registry/entities/telemetry.md | 44 +------ docs/registry/entities/vcs.md | 46 +------ docs/registry/entities/webengine.md | 8 +- model/k8s/entities.yaml | 46 +++++++ model/service/entities.yaml | 4 + .../registry/markdown/entity_namespace.md.j2 | 13 +- 26 files changed, 229 insertions(+), 775 deletions(-) diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index be6afcfd63..80ae7b8ac8 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -41,15 +41,15 @@ Currently, the following namespaces exist: AWS - aws.ecs + aws.eks Development - aws.log + aws.ecs Development - aws.eks + aws.log Development Browser @@ -125,10 +125,6 @@ Currently, the following namespaces exist: Development GCP - - - gcp.gce - Development gcp.apphub.application @@ -145,6 +141,10 @@ Currently, the following namespaces exist: gcp.cloud_run Development + + + gcp.gce + Development Heroku diff --git a/docs/registry/entities/android.md b/docs/registry/entities/android.md index 1089235af5..948c3d8c4c 100644 --- a/docs/registry/entities/android.md +++ b/docs/registry/entities/android.md @@ -8,7 +8,6 @@ - ## Android **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,9 +17,6 @@ **Description:** The Android platform on which the Android application is running. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`android.os.api_level`](/docs/registry/attribute/android.md) | string | Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). | `33`; `32` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/app.md b/docs/registry/entities/app.md index 8b3d303f55..d87952b63c 100644 --- a/docs/registry/entities/app.md +++ b/docs/registry/entities/app.md @@ -8,7 +8,6 @@ - ## App **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,27 +17,6 @@ **Description:** An app used directly by end users — like mobile, web, or desktop. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`app.installation.id`](/docs/registry/attribute/app.md) | string | A unique identifier representing the installation of an application on a specific device [1] | `2ab2916d-a51f-4ac8-80ee-45ac31a28092` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `app.installation.id`:** Its value SHOULD persist across launches of the same application installation, including through application upgrades. -It SHOULD change if the application is uninstalled or if all applications of the vendor are uninstalled. -Additionally, users might be able to reset this value (e.g. by clearing application data). -If an app is installed multiple times on the same device (e.g. in different accounts on Android), each `app.installation.id` SHOULD have a different value. -If multiple OpenTelemetry SDKs are used within the same application, they SHOULD use the same value for `app.installation.id`. -Hardware IDs (e.g. serial number, IMEI, MAC address) MUST NOT be used as the `app.installation.id`. - -For iOS, this value SHOULD be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/identifierforvendor). - -For Android, examples of `app.installation.id` implementations include: - -- [Firebase Installation ID](https://firebase.google.com/docs/projects/manage-installations). -- A globally unique UUID which is persisted across sessions in your application. -- [App set ID](https://developer.android.com/identity/app-set-id). -- [`Settings.getString(Settings.Secure.ANDROID_ID)`](https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID). - -More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). +**Identifying Attributes:** diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index d7aff0d5c0..18491f8298 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -8,75 +8,39 @@ - -## Aws Ecs +## Aws Eks **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `aws.ecs` - -**Description:** Entities used by AWS Elastic Container Service (ECS). - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`aws.ecs.task.id`](/docs/registry/attribute/aws.md) | string | The ID of a running ECS task. The ID MUST be extracted from `task.arn`. | `10838bed-421f-43ef-870a-f43feacbbb5b`; `23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Conditionally Required` If and only if `task.arn` is populated. | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.container.arn`](/docs/registry/attribute/aws.md) | string | The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | `arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.launchtype`](/docs/registry/attribute/aws.md) | string | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `ec2`; `fargate` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.task.arn`](/docs/registry/attribute/aws.md) | string | The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b`; `arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.task.family`](/docs/registry/attribute/aws.md) | string | The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task. | `opentelemetry-family` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.task.revision`](/docs/registry/attribute/aws.md) | string | The revision for the task definition used to create the ECS task. | `8`; `26` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - ---- +**type:** `aws.eks` -`aws.ecs.launchtype` 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. +**Description:** Entities used by AWS Elastic Kubernetes Service (EKS). -| Value | Description | Stability | -|---|---|---| -| `ec2` | ec2 | ![Development](https://img.shields.io/badge/-development-blue) | -| `fargate` | fargate | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** -## Aws Log +## Aws Ecs **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `aws.log` - -**Description:** Entities specific to Amazon Web Services. - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`aws.log.group.arns`](/docs/registry/attribute/aws.md) | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [1] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.log.group.names`](/docs/registry/attribute/aws.md) | string[] | The name(s) of the AWS log group(s) an application is writing to. [2] | `["/aws/lambda/my-function", "opentelemetry-service"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.log.stream.arns`](/docs/registry/attribute/aws.md) | string[] | The ARN(s) of the AWS log stream(s). [3] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.log.stream.names`](/docs/registry/attribute/aws.md) | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `aws.log.group.arns`:** See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). +**type:** `aws.ecs` -**[2] `aws.log.group.names`:** Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. +**Description:** Entities used by AWS Elastic Container Service (ECS). -**[3] `aws.log.stream.arns`:** See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. +**Identifying Attributes:** -## Aws Eks +## Aws Log **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `aws.eks` - -**Description:** Entities used by AWS Elastic Kubernetes Service (EKS). +**type:** `aws.log` +**Description:** Entities specific to Amazon Web Services. -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`aws.eks.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an EKS cluster. | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/browser.md b/docs/registry/entities/browser.md index 4824b5a514..f99c04e458 100644 --- a/docs/registry/entities/browser.md +++ b/docs/registry/entities/browser.md @@ -8,7 +8,6 @@ - ## Browser **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,24 +17,6 @@ **Description:** The web browser in which the application represented by the resource is running. The `browser.*` attributes MUST be used only for resources that represent applications running in a web browser (regardless of whether running on a mobile or desktop device). - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`browser.brands`](/docs/registry/attribute/browser.md) | string[] | Array of brand name and version separated by a space [1] | `[" Not A;Brand 99", "Chromium 99", "Chrome 99"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`browser.language`](/docs/registry/attribute/browser.md) | string | Preferred language of the user using the browser [2] | `en`; `en-US`; `fr`; `fr-FR` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`browser.mobile`](/docs/registry/attribute/browser.md) | boolean | A boolean that is true if the browser is running on a mobile device [3] | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`browser.platform`](/docs/registry/attribute/browser.md) | string | The platform on which the browser is running [4] | `Windows`; `macOS`; `Android` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`user_agent.original`](/docs/registry/attribute/user-agent.md) | string | Full user-agent string provided by the browser [5] | `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - -**[1] `browser.brands`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.brands`). - -**[2] `browser.language`:** This value is intended to be taken from the Navigator API `navigator.language`. - -**[3] `browser.mobile`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be left unset. - -**[4] `browser.platform`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.platform`). If unavailable, the legacy `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent. -The list of possible values is defined in the [W3C User-Agent Client Hints specification](https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform). Note that some (but not all) of these values can overlap with values in the [`os.type` and `os.name` attributes](./os.md). However, for consistency, the values in the `browser.platform` attribute should capture the exact value that the user agent provides. - -**[5] `user_agent.original`:** The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy `navigator.userAgent` API can be used. +**Identifying Attributes:** diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md index 209e6ccbf1..68f48a85fd 100644 --- a/docs/registry/entities/cicd.md +++ b/docs/registry/entities/cicd.md @@ -8,7 +8,6 @@ - ## Cicd Pipeline **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,11 +17,7 @@ **Description:** A pipeline is a series of automated steps that helps software teams deliver code. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cicd.pipeline.name`](/docs/registry/attribute/cicd.md) | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - +**Identifying Attributes:** ## Cicd Pipeline Run @@ -34,12 +29,7 @@ **Description:** A pipeline run is a singular execution of a given pipeline's tasks. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cicd.pipeline.run.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cicd.pipeline.run.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the pipeline run, providing the complete address in order to locate and identify the pipeline run. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - +**Identifying Attributes:** ## Cicd Worker @@ -51,11 +41,6 @@ **Description:** A CICD worker is a component of the CICD system that performs work (eg. running pipeline tasks or performing sync). - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cicd.worker.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a worker within a CICD system. | `abc123`; `10.0.1.2`; `controller` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cicd.worker.name`](/docs/registry/attribute/cicd.md) | string | The name of a worker within a CICD system. | `agent-abc`; `controller`; `Ubuntu LTS` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cicd.worker.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker. | `https://cicd.example.org/worker/abc123` | `Recommended` If available | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/cloud.md b/docs/registry/entities/cloud.md index a53bdb669d..4a033faa2a 100644 --- a/docs/registry/entities/cloud.md +++ b/docs/registry/entities/cloud.md @@ -8,7 +8,6 @@ - ## Cloud **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,90 +17,6 @@ **Description:** A cloud environment (e.g. GCP, Azure, AWS) - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cloud.account.id`](/docs/registry/attribute/cloud.md) | string | The cloud account ID the resource is assigned to. | `111111111111`; `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.availability_zone`](/docs/registry/attribute/cloud.md) | string | Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. [1] | `us-east-1c` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.platform`](/docs/registry/attribute/cloud.md) | string | The cloud platform in use. [2] | `alibaba_cloud_ecs`; `alibaba_cloud_fc`; `alibaba_cloud_openshift` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.provider`](/docs/registry/attribute/cloud.md) | string | Name of the cloud provider. | `alibaba_cloud`; `aws`; `azure` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.region`](/docs/registry/attribute/cloud.md) | string | The geographical region within a cloud provider. When associated with a resource, this attribute specifies the region where the resource operates. When calling services or APIs deployed on a cloud, this attribute identifies the region where the called destination is deployed. [3] | `us-central1`; `us-east-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.resource_id`](/docs/registry/attribute/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [4] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `cloud.availability_zone`:** Availability zones are called "zones" on Alibaba Cloud and Google Cloud. - -**[2] `cloud.platform`:** The prefix of the service SHOULD match the one specified in `cloud.provider`. - -**[3] `cloud.region`:** Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/global-infrastructure/geographies/), [Google Cloud regions](https://cloud.google.com/about/locations), or [Tencent Cloud regions](https://www.tencentcloud.com/document/product/213/6091). - -**[4] `cloud.resource_id`:** On some cloud providers, it may not be possible to determine the full ID at startup, -so it may be necessary to set `cloud.resource_id` as a span attribute instead. - -The exact value to use for `cloud.resource_id` depends on the cloud provider. -The following well-known definitions MUST be used if you set this attribute and they apply: - -- **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). - Take care not to use the "invoked ARN" directly but replace any - [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) - with the resolved function version, as the same runtime instance may be invocable with - multiple different aliases. -- **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) -- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, - *not* the function app, having the form - `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. - This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share - a TracerProvider. - ---- - -`cloud.platform` 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 | -|---|---|---| -| `alibaba_cloud_ecs` | Alibaba Cloud Elastic Compute Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `alibaba_cloud_fc` | Alibaba Cloud Function Compute | ![Development](https://img.shields.io/badge/-development-blue) | -| `alibaba_cloud_openshift` | Red Hat OpenShift on Alibaba Cloud | ![Development](https://img.shields.io/badge/-development-blue) | -| `aws_app_runner` | AWS App Runner | ![Development](https://img.shields.io/badge/-development-blue) | -| `aws_ec2` | AWS Elastic Compute Cloud | ![Development](https://img.shields.io/badge/-development-blue) | -| `aws_ecs` | AWS Elastic Container Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `aws_eks` | AWS Elastic Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Development](https://img.shields.io/badge/-development-blue) | -| `aws_lambda` | AWS Lambda | ![Development](https://img.shields.io/badge/-development-blue) | -| `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_aks` | Azure Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_app_service` | Azure App Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_container_apps` | Azure Container Apps | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_container_instances` | Azure Container Instances | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_functions` | Azure Functions | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_openshift` | Azure Red Hat OpenShift | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_vm` | Azure Virtual Machines | ![Development](https://img.shields.io/badge/-development-blue) | -| `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Development](https://img.shields.io/badge/-development-blue) | -| `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Development](https://img.shields.io/badge/-development-blue) | -| `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Development](https://img.shields.io/badge/-development-blue) | -| `gcp_cloud_run` | Google Cloud Run | ![Development](https://img.shields.io/badge/-development-blue) | -| `gcp_compute_engine` | Google Cloud Compute Engine (GCE) | ![Development](https://img.shields.io/badge/-development-blue) | -| `gcp_kubernetes_engine` | Google Cloud Kubernetes Engine (GKE) | ![Development](https://img.shields.io/badge/-development-blue) | -| `gcp_openshift` | Red Hat OpenShift on Google Cloud | ![Development](https://img.shields.io/badge/-development-blue) | -| `ibm_cloud_openshift` | Red Hat OpenShift on IBM Cloud | ![Development](https://img.shields.io/badge/-development-blue) | -| `oracle_cloud_compute` | Compute on Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | -| `oracle_cloud_oke` | Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | -| `tencent_cloud_cvm` | Tencent Cloud Cloud Virtual Machine (CVM) | ![Development](https://img.shields.io/badge/-development-blue) | -| `tencent_cloud_eks` | Tencent Cloud Elastic Kubernetes Service (EKS) | ![Development](https://img.shields.io/badge/-development-blue) | -| `tencent_cloud_scf` | Tencent Cloud Serverless Cloud Function (SCF) | ![Development](https://img.shields.io/badge/-development-blue) | - ---- - -`cloud.provider` 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 | -|---|---|---| -| `alibaba_cloud` | Alibaba Cloud | ![Development](https://img.shields.io/badge/-development-blue) | -| `aws` | Amazon Web Services | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure` | Microsoft Azure | ![Development](https://img.shields.io/badge/-development-blue) | -| `gcp` | Google Cloud Platform | ![Development](https://img.shields.io/badge/-development-blue) | -| `heroku` | Heroku Platform as a Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `ibm_cloud` | IBM Cloud | ![Development](https://img.shields.io/badge/-development-blue) | -| `oracle_cloud` | Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | -| `tencent_cloud` | Tencent Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index 3f76084ce9..2a3bbfaf3c 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -8,7 +8,6 @@ - ## Cloudfoundry System **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,30 +17,7 @@ **Description:** The system component which is monitored. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cloudfoundry.system.id`](/docs/registry/attribute/cloudfoundry.md) | string | A guid or another name describing the event source. [1] | `cf/gorouter` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.system.instance.id`](/docs/registry/attribute/cloudfoundry.md) | string | A guid describing the concrete instance of the event source. [2] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `cloudfoundry.system.id`:** CloudFoundry defines the `source_id` in the [Loggregator v2 envelope](https://github.com/cloudfoundry/loggregator-api#v2-envelope). -It is used for logs and metrics emitted by CloudFoundry. It is -supposed to contain the component name, e.g. "gorouter", for -CloudFoundry components. - -When system components are instrumented, values from the -[Bosh spec](https://bosh.io/docs/jobs/#properties-spec) -should be used. The `system.id` should be set to -`spec.deployment/spec.name`. - -**[2] `cloudfoundry.system.instance.id`:** CloudFoundry defines the `instance_id` in the [Loggregator v2 envelope](https://github.com/cloudfoundry/loggregator-api#v2-envelope). -It is used for logs and metrics emitted by CloudFoundry. It is -supposed to contain the vm id for CloudFoundry components. - -When system components are instrumented, values from the -[Bosh spec](https://bosh.io/docs/jobs/#properties-spec) -should be used. The `system.instance.id` should be set to `spec.id`. - +**Identifying Attributes:** ## Cloudfoundry App @@ -53,20 +29,7 @@ should be used. The `system.instance.id` should be set to `spec.id`. **Description:** The application which is monitored. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cloudfoundry.app.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the application. [3] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.app.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the application. [4] | `my-app-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[3] `cloudfoundry.app.id`:** Application instrumentation should use the value from environment -variable `VCAP_APPLICATION.application_id`. This is the same value as -reported by `cf app --guid`. - -**[4] `cloudfoundry.app.name`:** Application instrumentation should use the value from environment -variable `VCAP_APPLICATION.application_name`. This is the same value -as reported by `cf apps`. - +**Identifying Attributes:** ## Cloudfoundry Space @@ -78,20 +41,7 @@ as reported by `cf apps`. **Description:** The space of the application which is monitored. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cloudfoundry.space.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the CloudFoundry space the application is running in. [5] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.space.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the CloudFoundry space the application is running in. [6] | `my-space-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[5] `cloudfoundry.space.id`:** Application instrumentation should use the value from environment -variable `VCAP_APPLICATION.space_id`. This is the same value as -reported by `cf space --guid`. - -**[6] `cloudfoundry.space.name`:** Application instrumentation should use the value from environment -variable `VCAP_APPLICATION.space_name`. This is the same value as -reported by `cf spaces`. - +**Identifying Attributes:** ## Cloudfoundry Org @@ -103,20 +53,7 @@ reported by `cf spaces`. **Description:** The organization of the application which is monitored. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cloudfoundry.org.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the CloudFoundry org the application is running in. [7] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.org.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the CloudFoundry organization the app is running in. [8] | `my-org-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[7] `cloudfoundry.org.id`:** Application instrumentation should use the value from environment -variable `VCAP_APPLICATION.org_id`. This is the same value as -reported by `cf org --guid`. - -**[8] `cloudfoundry.org.name`:** Application instrumentation should use the value from environment -variable `VCAP_APPLICATION.org_name`. This is the same value as -reported by `cf orgs`. - +**Identifying Attributes:** ## Cloudfoundry Process @@ -128,19 +65,6 @@ reported by `cf orgs`. **Description:** The process of the application which is monitored. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`cloudfoundry.process.id`](/docs/registry/attribute/cloudfoundry.md) | string | The UID identifying the process. [9] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.process.type`](/docs/registry/attribute/cloudfoundry.md) | string | The type of process. [10] | `web` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[9] `cloudfoundry.process.id`:** Application instrumentation should use the value from environment -variable `VCAP_APPLICATION.process_id`. It is supposed to be equal to -`VCAP_APPLICATION.app_id` for applications deployed to the runtime. -For system components, this could be the actual PID. - -**[10] `cloudfoundry.process.type`:** CloudFoundry applications can consist of multiple jobs. Usually the -main process will be of type `web`. There can be additional background -tasks or side-cars with different process types. +**Identifying Attributes:** diff --git a/docs/registry/entities/container.md b/docs/registry/entities/container.md index 336366aac5..188e9e5458 100644 --- a/docs/registry/entities/container.md +++ b/docs/registry/entities/container.md @@ -8,7 +8,6 @@ - ## Container **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,33 +17,6 @@ **Description:** A container instance. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`container.id`](/docs/registry/attribute/container.md) | string | Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification). The UUID might be abbreviated. | `a3bf90e006b2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.image.id`](/docs/registry/attribute/container.md) | string | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [1] | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.image.name`](/docs/registry/attribute/container.md) | string | Name of the image the container was built on. | `gcr.io/opentelemetry/operator` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.image.repo_digests`](/docs/registry/attribute/container.md) | string[] | Repo digests of the container image as provided by the container runtime. [2] | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.image.tags`](/docs/registry/attribute/container.md) | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. | `["v1.27.1", "3.5.7-0"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.label.`](/docs/registry/attribute/container.md) | string | Container labels, `` being the label name, the value being the label value. [3] | `nginx` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.name`](/docs/registry/attribute/container.md) | string | Container name used by container runtime. | `opentelemetry-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.runtime`](/docs/registry/attribute/container.md) | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`oci.manifest.digest`](/docs/registry/attribute/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.command`](/docs/registry/attribute/container.md) | string | The command used to run the container (i.e. the command name). [5] | `otelcontribcol` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.command_args`](/docs/registry/attribute/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. | `["otelcontribcol", "--config", "config.yaml"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.command_line`](/docs/registry/attribute/container.md) | string | The full command run by the container as a single string representing the full command. | `otelcontribcol --config config.yaml` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `container.image.id`:** Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect) endpoint. -K8s defines a link to the container registry repository with digest `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. -The ID is assigned by the container runtime and can vary in different environments. Consider using `oci.manifest.digest` if it is important to identify the same image in different environments/runtimes. - -**[2] `container.image.repo_digests`:** [Docker](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect) and [CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238) report those under the `RepoDigests` field. - -**[3] `container.label.`:** For example, a docker container label `app` with value `nginx` SHOULD be recorded as the `container.label.app` attribute with value `"nginx"`. - -**[4] `oci.manifest.digest`:** Follows [OCI Image Manifest Specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md), and specifically the [Digest property](https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests). -An example can be found in [Example Image Manifest](https://github.com/opencontainers/image-spec/blob/main/manifest.md#example-image-manifest). - -**[5] `container.command`:** If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. +**Identifying Attributes:** diff --git a/docs/registry/entities/deployment.md b/docs/registry/entities/deployment.md index 4c764b3221..15ef48c27c 100644 --- a/docs/registry/entities/deployment.md +++ b/docs/registry/entities/deployment.md @@ -8,7 +8,6 @@ - ## Deployment **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,17 +17,6 @@ **Description:** The software deployment. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`deployment.environment.name`](/docs/registry/attribute/deployment.md) | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `deployment.environment.name`:** `deployment.environment.name` does not affect the uniqueness constraints defined through -the `service.namespace`, `service.name` and `service.instance.id` resource attributes. -This implies that resources carrying the following attribute combinations MUST be -considered to be identifying the same service: - -- `service.name=frontend`, `deployment.environment.name=production` -- `service.name=frontend`, `deployment.environment.name=staging`. +**Identifying Attributes:** diff --git a/docs/registry/entities/device.md b/docs/registry/entities/device.md index 3afda07e90..45892e7c80 100644 --- a/docs/registry/entities/device.md +++ b/docs/registry/entities/device.md @@ -8,7 +8,6 @@ - ## Device **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,35 +17,6 @@ **Description:** The device on which the process represented by this resource is running. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`device.manufacturer`](/docs/registry/attribute/device.md) | string | The name of the device manufacturer [1] | `Apple`; `Samsung` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`device.model.identifier`](/docs/registry/attribute/device.md) | string | The model identifier for the device [2] | `iPhone3,4`; `SM-G920F` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`device.model.name`](/docs/registry/attribute/device.md) | string | The marketing name for the device model [3] | `iPhone 6s Plus`; `Samsung Galaxy S6` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`device.id`](/docs/registry/attribute/device.md) | string | A unique identifier representing the device [4] | `123456789012345`; `01:23:45:67:89:AB` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `device.manufacturer`:** The Android OS provides this field via [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). iOS apps SHOULD hardcode the value `Apple`. - -**[2] `device.model.identifier`:** 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. - -**[3] `device.model.name`:** It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative. - -**[4] `device.id`:** Its value SHOULD be identical for all apps on a device and it SHOULD NOT change if an app is uninstalled and re-installed. -However, it might be resettable by the user for all apps on a device. -Hardware IDs (e.g. vendor-specific serial number, IMEI or MAC address) MAY be used as values. - -More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). - -> [!WARNING] -> -> This attribute may contain sensitive (PII) information. 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. -> -> Due to these reasons, this identifier is not recommended for consumer applications and will likely result in rejection from both Google Play and App Store. -> However, it may be appropriate for specific enterprise scenarios, such as kiosk devices or enterprise-managed devices, with appropriate compliance clearance. -> Any instrumentation providing this identifier MUST implement it as an opt-in feature. -> -> See [`app.installation.id`](/docs/registry/attributes/app.md#app-installation-id) for a more privacy-preserving alternative. +**Identifying Attributes:** diff --git a/docs/registry/entities/faas.md b/docs/registry/entities/faas.md index 9ace5d322f..a8de521746 100644 --- a/docs/registry/entities/faas.md +++ b/docs/registry/entities/faas.md @@ -8,7 +8,6 @@ - ## Faas **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,62 +17,6 @@ **Description:** A serverless instance. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`faas.name`](/docs/registry/attribute/faas.md) | string | The name of the single function that this runtime instance executes. [1] | `my-function`; `myazurefunctionapp/some-function-name` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.resource_id`](/docs/registry/attribute/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [2] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`faas.instance`](/docs/registry/attribute/faas.md) | string | The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. [3] | `2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`faas.max_memory`](/docs/registry/attribute/faas.md) | int | The amount of memory available to the serverless function converted to Bytes. [4] | `134217728` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`faas.version`](/docs/registry/attribute/faas.md) | string | The immutable version of the function being executed. [5] | `26`; `pinkfroid-00002` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `faas.name`:** This is the name of the function as configured/deployed on the FaaS -platform and is usually different from the name of the callback -function (which may be stored in the -[`code.namespace`/`code.function.name`](/docs/general/attributes.md#source-code-attributes) -span attributes). - -For some cloud providers, the above definition is ambiguous. The following -definition of function name MUST be used for this attribute -(and consequently the span name) for the listed cloud providers/products: - -- **Azure:** The full name `/`, i.e., function app name - followed by a forward slash followed by the function name (this form - can also be seen in the resource JSON for the function). - This means that a span attribute MUST be used, as an Azure function - app can host multiple functions that would usually share - a TracerProvider (see also the `cloud.resource_id` attribute). - -**[2] `cloud.resource_id`:** On some cloud providers, it may not be possible to determine the full ID at startup, -so it may be necessary to set `cloud.resource_id` as a span attribute instead. - -The exact value to use for `cloud.resource_id` depends on the cloud provider. -The following well-known definitions MUST be used if you set this attribute and they apply: - -- **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). - Take care not to use the "invoked ARN" directly but replace any - [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) - with the resolved function version, as the same runtime instance may be invocable with - multiple different aliases. -- **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) -- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, - *not* the function app, having the form - `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. - This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share - a TracerProvider. - -**[3] `faas.instance`:** - **AWS Lambda:** Use the (full) log stream name. - -**[4] `faas.max_memory`:** It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must be multiplied by 1,048,576). - -**[5] `faas.version`:** Depending on the cloud provider and platform, use: - -- **AWS Lambda:** The [function version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) - (an integer represented as a decimal string). -- **Google Cloud Run (Services):** The [revision](https://cloud.google.com/run/docs/managing/revisions) - (i.e., the function name plus the revision suffix). -- **Google Cloud Functions:** The value of the - [`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). -- **Azure Functions:** Not applicable. Do not set this attribute. +**Identifying Attributes:** diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md index 2da90495bc..64c781db85 100644 --- a/docs/registry/entities/gcp.md +++ b/docs/registry/entities/gcp.md @@ -8,24 +8,6 @@ - -## Gcp Gce - -**Status:** ![Development](https://img.shields.io/badge/-development-blue) - -**type:** `gcp.gce` - -**Description:** Resources used by Google Compute Engine (GCE). - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`gcp.gce.instance.hostname`](/docs/registry/attribute/gcp.md) | string | The hostname of a GCE instance. This is the full value of the default or [custom hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). | `my-host1234.example.com`; `sample-vm.us-west1-b.c.my-project.internal` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.gce.instance.name`](/docs/registry/attribute/gcp.md) | string | The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the [default internal DNS name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). | `instance-1`; `my-vm-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - ## Gcp Apphub Application **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -35,13 +17,7 @@ **Description:** Attributes denoting data from an Application in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`gcp.apphub.application.container`](/docs/registry/attribute/gcp.md) | string | The container within GCP where the AppHub application is defined. | `projects/my-container-project` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.application.id`](/docs/registry/attribute/gcp.md) | string | The name of the application as configured in AppHub. | `my-application` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.application.location`](/docs/registry/attribute/gcp.md) | string | The GCP zone or region where the application is defined. | `us-central1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | - +**Identifying Attributes:** ## Gcp Apphub Service @@ -53,39 +29,7 @@ **Description:** Attributes denoting data from a Service in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`gcp.apphub.service.criticality_type`](/docs/registry/attribute/gcp.md) | string | Criticality of a service indicates its importance to the business. [1] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.service.environment_type`](/docs/registry/attribute/gcp.md) | string | Environment of a service is the stage of a software lifecycle. [2] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.service.id`](/docs/registry/attribute/gcp.md) | string | The name of the service as configured in AppHub. | `my-service` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `gcp.apphub.service.criticality_type`:** [See AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type) - -**[2] `gcp.apphub.service.environment_type`:** [See AppHub environment type](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1) - ---- - -`gcp.apphub.service.criticality_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 | Stability | -|---|---|---| -| `HIGH` | High impact. | ![Development](https://img.shields.io/badge/-development-blue) | -| `LOW` | Low impact. | ![Development](https://img.shields.io/badge/-development-blue) | -| `MEDIUM` | Medium impact. | ![Development](https://img.shields.io/badge/-development-blue) | -| `MISSION_CRITICAL` | Mission critical service. | ![Development](https://img.shields.io/badge/-development-blue) | - ---- - -`gcp.apphub.service.environment_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 | Stability | -|---|---|---| -| `DEVELOPMENT` | Development environment. | ![Development](https://img.shields.io/badge/-development-blue) | -| `PRODUCTION` | Production environment. | ![Development](https://img.shields.io/badge/-development-blue) | -| `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | -| `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | - +**Identifying Attributes:** ## Gcp Apphub Workload @@ -97,54 +41,30 @@ **Description:** Attributes denoting data from a Workload in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). +**Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`gcp.apphub.workload.criticality_type`](/docs/registry/attribute/gcp.md) | string | Criticality of a workload indicates its importance to the business. [3] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.workload.environment_type`](/docs/registry/attribute/gcp.md) | string | Environment of a workload is the stage of a software lifecycle. [4] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.workload.id`](/docs/registry/attribute/gcp.md) | string | The name of the workload as configured in AppHub. | `my-workload` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[3] `gcp.apphub.workload.criticality_type`:** [See AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type) - -**[4] `gcp.apphub.workload.environment_type`:** [See AppHub environment type](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1) ---- - -`gcp.apphub.workload.criticality_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. +## Gcp Cloud Run -| Value | Description | Stability | -|---|---|---| -| `HIGH` | High impact. | ![Development](https://img.shields.io/badge/-development-blue) | -| `LOW` | Low impact. | ![Development](https://img.shields.io/badge/-development-blue) | -| `MEDIUM` | Medium impact. | ![Development](https://img.shields.io/badge/-development-blue) | -| `MISSION_CRITICAL` | Mission critical service. | ![Development](https://img.shields.io/badge/-development-blue) | +**Status:** ![Development](https://img.shields.io/badge/-development-blue) ---- +**type:** `gcp.cloud_run` -`gcp.apphub.workload.environment_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. +**Description:** Resource used by Google Cloud Run. -| Value | Description | Stability | -|---|---|---| -| `DEVELOPMENT` | Development environment. | ![Development](https://img.shields.io/badge/-development-blue) | -| `PRODUCTION` | Production environment. | ![Development](https://img.shields.io/badge/-development-blue) | -| `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | -| `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** -## Gcp Cloud Run +## Gcp Gce **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `gcp.cloud_run` - -**Description:** Resource used by Google Cloud Run. +**type:** `gcp.gce` +**Description:** Resources used by Google Compute Engine (GCE). -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`gcp.cloud_run.job.execution`](/docs/registry/attribute/gcp.md) | string | The name of the Cloud Run [execution](https://cloud.google.com/run/docs/managing/job-executions) being run for the Job, as set by the [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `job-name-xxxx`; `sample-job-mdw84` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.cloud_run.job.task_index`](/docs/registry/attribute/gcp.md) | int | The index for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `0`; `1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/heroku.md b/docs/registry/entities/heroku.md index 3679922e7b..bbf218be68 100644 --- a/docs/registry/entities/heroku.md +++ b/docs/registry/entities/heroku.md @@ -8,7 +8,6 @@ - ## Heroku **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,11 +17,6 @@ **Description:** [Heroku dyno metadata](https://devcenter.heroku.com/articles/dyno-metadata) - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`heroku.app.id`](/docs/registry/attribute/heroku.md) | string | Unique identifier for the application | `2daa2797-e42b-4624-9322-ec3f968df4da` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`heroku.release.commit`](/docs/registry/attribute/heroku.md) | string | Commit hash for the current release | `e6134959463efd8966b20e75b913cafe3f5ec` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`heroku.release.creation_timestamp`](/docs/registry/attribute/heroku.md) | string | Time and date the release was created | `2022-10-23T18:00:42Z` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index a7c4b010d5..36408da106 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -8,7 +8,6 @@ - ## Host **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,64 +17,7 @@ **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](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`host.arch`](/docs/registry/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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 - -**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](https://www.rfc-editor.org/rfc/rfc5952.html) format. - -**[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) | - +**Identifying Attributes:** ## Host Cpu @@ -87,16 +29,6 @@ privileged lookup of `host.id` is required, the value should be injected via the **Description:** A host's CPU information - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`host.cpu.cache.l2.size`](/docs/registry/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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. +**Identifying Attributes:** diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index d5af5f156e..2ecae96a04 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -8,7 +8,6 @@ - ## K8s Cluster **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,10 +17,9 @@ **Description:** A Kubernetes Cluster. - +**Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.cluster.name`](/docs/registry/attribute/k8s.md) | string | The name of the cluster. | `opentelemetry-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.cluster.uid`](/docs/registry/attribute/k8s.md) | string | A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `k8s.cluster.uid`:** K8s doesn't have support for obtaining a cluster ID. If this is ever @@ -48,6 +46,13 @@ Therefore, UIDs between clusters should be extremely unlikely to conflict. +**Descriptive Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.cluster.name`](/docs/registry/attribute/k8s.md) | string | The name of the cluster. | `opentelemetry-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + ## K8s Node @@ -58,11 +63,16 @@ conflict. **Description:** A Kubernetes Node object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.node.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.node.name`](/docs/registry/attribute/k8s.md) | string | The name of the Node. | `node-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.node.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.node.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [2] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.node.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [3] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -82,6 +92,7 @@ conflict. + ## K8s Namespace **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -91,10 +102,15 @@ conflict. **Description:** A Kubernetes Namespace. - +**Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.namespace.name`](/docs/registry/attribute/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + +**Descriptive Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| | [`k8s.namespace.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [4] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.namespace.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Namespace. [5] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -104,6 +120,7 @@ conflict. + ## K8s Pod **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -113,11 +130,16 @@ conflict. **Description:** A Kubernetes Pod object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.pod.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.pod.name`](/docs/registry/attribute/k8s.md) | string | The name of the Pod. | `opentelemetry-pod-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.pod.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.pod.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [6] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.pod.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [7] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -141,6 +163,7 @@ conflict. + ## K8s Container **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -150,15 +173,21 @@ conflict. **Description:** A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). - +**Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.container.name`](/docs/registry/attribute/k8s.md) | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + +**Descriptive Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| | [`k8s.container.restart_count`](/docs/registry/attribute/k8s.md) | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.container.status.last_terminated_reason`](/docs/registry/attribute/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + ## K8s Replicaset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -168,11 +197,16 @@ conflict. **Description:** A Kubernetes ReplicaSet object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.replicaset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.replicaset.name`](/docs/registry/attribute/k8s.md) | string | The name of the ReplicaSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicaset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.replicaset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [8] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.replicaset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [9] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -182,6 +216,7 @@ conflict. + ## K8s Deployment **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -191,11 +226,16 @@ conflict. **Description:** A Kubernetes Deployment object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.deployment.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.deployment.name`](/docs/registry/attribute/k8s.md) | string | The name of the Deployment. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.deployment.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.deployment.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Deployment. [10] | `k8s.deployment.annotation.replicas=1`; `k8s.deployment.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.deployment.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Deployment. [11] | `k8s.deployment.label.app=guestbook`; `k8s.deployment.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -205,6 +245,7 @@ conflict. + ## K8s Statefulset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -214,11 +255,16 @@ conflict. **Description:** A Kubernetes StatefulSet object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.statefulset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.statefulset.name`](/docs/registry/attribute/k8s.md) | string | The name of the StatefulSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.statefulset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.statefulset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [12] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.statefulset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [13] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -228,6 +274,7 @@ conflict. + ## K8s Daemonset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -237,11 +284,16 @@ conflict. **Description:** A Kubernetes DaemonSet object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.daemonset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.daemonset.name`](/docs/registry/attribute/k8s.md) | string | The name of the DaemonSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.daemonset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.daemonset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the DaemonSet. [14] | `k8s.daemonset.annotation.replicas=1`; `k8s.daemonset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.daemonset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the DaemonSet. [15] | `k8s.daemonset.label.app=guestbook`; `k8s.daemonset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -251,6 +303,7 @@ conflict. + ## K8s Job **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -260,11 +313,16 @@ conflict. **Description:** A Kubernetes Job object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.job.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.job.name`](/docs/registry/attribute/k8s.md) | string | The name of the Job. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.job.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.job.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Job. [16] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.job.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Job. [17] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -274,6 +332,7 @@ conflict. + ## K8s Cronjob **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -283,11 +342,16 @@ conflict. **Description:** A Kubernetes CronJob object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.cronjob.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.cronjob.name`](/docs/registry/attribute/k8s.md) | string | The name of the CronJob. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.cronjob.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.cronjob.annotation.`](/docs/registry/attribute/k8s.md) | string | The cronjob annotation placed on the CronJob, the `` being the annotation name, the value being the annotation value. [18] | `4`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.cronjob.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the CronJob, the `` being the label name, the value being the label value. [19] | `weekly`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -307,6 +371,7 @@ conflict. + ## K8s Replicationcontroller **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -316,11 +381,17 @@ conflict. **Description:** A Kubernetes ReplicationController object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.replicationcontroller.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the replication controller. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.replicationcontroller.name`](/docs/registry/attribute/k8s.md) | string | The name of the replication controller. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicationcontroller.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the replication controller. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + @@ -333,11 +404,17 @@ conflict. **Description:** A Kubernetes HorizontalPodAutoscaler object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.hpa.name`](/docs/registry/attribute/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + @@ -350,10 +427,17 @@ conflict. **Description:** A Kubernetes ResourceQuota object. +**Identifying Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.resourcequota.name`](/docs/registry/attribute/k8s.md) | string | The name of the resource quota. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md index 653cfbea84..3ccd2663b8 100644 --- a/docs/registry/entities/os.md +++ b/docs/registry/entities/os.md @@ -8,7 +8,6 @@ - ## Os **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,39 +17,6 @@ **Description:** The operating system (OS) on which the process represented by this resource is running. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`os.type`](/docs/registry/attribute/os.md) | string | The operating system type. | `windows`; `linux`; `darwin` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`os.build_id`](/docs/registry/attribute/os.md) | string | Unique identifier for a particular build or compilation of the operating system. [1] | `TQ3C.230805.001.B2`; `20E247`; `22621` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`os.description`](/docs/registry/attribute/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`os.name`](/docs/registry/attribute/os.md) | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`os.version`](/docs/registry/attribute/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `os.build_id`:** `build_id` values SHOULD be obtained from the following sources: - -| OS | Primary | Fallback | -| ------- | ------- | ------- | -| Windows | `CurrentBuildNumber` from registry `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion` | - | -| MacOS | `ProductBuildVersion` from `/System/Library/CoreServices/SystemVersion.plist` | `ProductBuildVersion` from `/System/Library/CoreServices/ServerVersion.plist` | -| Linux | `BUILD_ID` from `/etc/os-release` | `BUILD_ID` from `/usr/lib/os-release`;
contents of `/proc/sys/kernel/osrelease`| - ---- - -`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 | Stability | -|---|---|---| -| `aix` | AIX (Advanced Interactive eXecutive) | ![Development](https://img.shields.io/badge/-development-blue) | -| `darwin` | Apple Darwin | ![Development](https://img.shields.io/badge/-development-blue) | -| `dragonflybsd` | DragonFly BSD | ![Development](https://img.shields.io/badge/-development-blue) | -| `freebsd` | FreeBSD | ![Development](https://img.shields.io/badge/-development-blue) | -| `hpux` | HP-UX (Hewlett Packard Unix) | ![Development](https://img.shields.io/badge/-development-blue) | -| `linux` | Linux | ![Development](https://img.shields.io/badge/-development-blue) | -| `netbsd` | NetBSD | ![Development](https://img.shields.io/badge/-development-blue) | -| `openbsd` | OpenBSD | ![Development](https://img.shields.io/badge/-development-blue) | -| `solaris` | SunOS, Oracle Solaris | ![Development](https://img.shields.io/badge/-development-blue) | -| `windows` | Microsoft Windows | ![Development](https://img.shields.io/badge/-development-blue) | -| `z_os` | IBM z/OS | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index 205a750e31..9fe9597548 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -8,7 +8,6 @@ - ## Otel Scope **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -17,10 +16,6 @@ **Description:** Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's concepts. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`otel.scope.name`](/docs/registry/attribute/otel.md) | string | The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). | `io.opentelemetry.contrib.mongodb` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`otel.scope.version`](/docs/registry/attribute/otel.md) | string | The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). | `1.0.0` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +**Identifying Attributes:** diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md index 0d2e78def5..d6ca37c657 100644 --- a/docs/registry/entities/process.md +++ b/docs/registry/entities/process.md @@ -8,7 +8,6 @@ - ## Process **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,31 +17,7 @@ **Description:** An operating system process. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`process.command`](/docs/registry/attribute/process.md) | 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` | `Conditionally Required` [1] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.command_args`](/docs/registry/attribute/process.md) | 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`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `["cmd/otecol", "--config=config.yaml"]` | `Conditionally Required` [2] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.command_line`](/docs/registry/attribute/process.md) | 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. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `C:\cmd\otecol --config="my directory\config.yaml"` | `Conditionally Required` [3] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.executable.name`](/docs/registry/attribute/process.md) | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | `Conditionally Required` [4] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.executable.path`](/docs/registry/attribute/process.md) | 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` | `Conditionally Required` [5] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.linux.cgroup`](/docs/registry/attribute/process.md) | string | The control group associated with the process. [6] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.owner`](/docs/registry/attribute/process.md) | string | The username of the user that owns the process. | `root` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.parent_pid`](/docs/registry/attribute/process.md) | int | Parent Process identifier (PPID). | `111` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.pid`](/docs/registry/attribute/process.md) | int | Process identifier (PID). | `1234` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `process.command`:** See [Selecting process attributes](#selecting-process-attributes) for details. - -**[2] `process.command_args`:** See [Selecting process attributes](#selecting-process-attributes) for details. - -**[3] `process.command_line`:** See [Selecting process attributes](#selecting-process-attributes) for details. - -**[4] `process.executable.name`:** See [Selecting process attributes](#selecting-process-attributes) for details. - -**[5] `process.executable.path`:** See [Selecting process attributes](#selecting-process-attributes) for details. - -**[6] `process.linux.cgroup`:** Control groups (cgroups) are a kernel feature used to organize and manage process resources. This attribute provides the path(s) to the cgroup(s) associated with the process, which should match the contents of the [/proc/\[PID\]/cgroup](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. - +**Identifying Attributes:** ## Process Runtime @@ -54,11 +29,6 @@ **Description:** The single (language) runtime instance which is monitored. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`process.runtime.description`](/docs/registry/attribute/process.md) | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.runtime.name`](/docs/registry/attribute/process.md) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.runtime.version`](/docs/registry/attribute/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/service.md b/docs/registry/entities/service.md index 1f60c1c404..ff319d3452 100644 --- a/docs/registry/entities/service.md +++ b/docs/registry/entities/service.md @@ -8,7 +8,6 @@ - ## Service **Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) @@ -18,13 +17,12 @@ **Description:** A service instance. - +**Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`service.name`](/docs/registry/attribute/service.md) | string | Logical name of the service. [1] | `shoppingcart` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`service.instance.id`](/docs/registry/attribute/service.md) | string | The string ID of the service instance. [2] | `627cc493-f310-47de-96bd-71410b7dec09` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`service.namespace`](/docs/registry/attribute/service.md) | string | A namespace for `service.name`. [3] | `Shop` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`service.version`](/docs/registry/attribute/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | **[1] `service.name`:** MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. @@ -58,3 +56,11 @@ port. **[3] `service.namespace`:** A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. +**Descriptive Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`service.version`](/docs/registry/attribute/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + + + diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index 2b38d6a53a..9e30bdda9a 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -8,7 +8,6 @@ - ## Telemetry Sdk **Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) @@ -18,39 +17,7 @@ **Description:** The telemetry SDK used to capture data recorded by the instrumentation libraries. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`telemetry.sdk.language`](/docs/registry/attribute/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`telemetry.sdk.name`](/docs/registry/attribute/telemetry.md) | string | The name of the telemetry SDK as defined above. [1] | `opentelemetry` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`telemetry.sdk.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - -**[1] `telemetry.sdk.name`:** The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. -If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the -`telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point -or another suitable identifier depending on the language. -The identifier `opentelemetry` is reserved and MUST NOT be used in this case. -All custom identifiers SHOULD be stable across different versions of an implementation. - ---- - -`telemetry.sdk.language` 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 | -|---|---|---| -| `cpp` | cpp | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `dotnet` | dotnet | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `erlang` | erlang | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `go` | go | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `java` | java | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `nodejs` | nodejs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `php` | php | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `python` | python | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `ruby` | ruby | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `rust` | rust | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `swift` | swift | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `webjs` | webjs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - +**Identifying Attributes:** ## Telemetry Distro @@ -62,13 +29,6 @@ All custom identifiers SHOULD be stable across different versions of an implemen **Description:** The distribution of telemetry SDK used to capture data recorded by the instrumentation libraries. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`telemetry.distro.name`](/docs/registry/attribute/telemetry.md) | string | The name of the auto instrumentation agent or distribution, if used. [2] | `parts-unlimited-java` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`telemetry.distro.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the auto instrumentation agent or distribution, if used. | `1.2.3` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[2] `telemetry.distro.name`:** Official auto instrumentation agents and distributions SHOULD set the `telemetry.distro.name` attribute to -a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. +**Identifying Attributes:** diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index 2c9e1b07a9..71d6cb5936 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -8,7 +8,6 @@ - ## Vcs Repo **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,19 +17,7 @@ **Description:** A repository in the Version Control System. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`vcs.repository.name`](/docs/registry/attribute/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [1] | `semantic-conventions`; `my-cool-repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`vcs.repository.url.full`](/docs/registry/attribute/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[1] `vcs.repository.name`:** Due to it only being the name, it can clash with forks of the same -repository if collecting telemetry across multiple orgs or groups in -the same backends. - -**[2] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include -the `.git` extension. - +**Identifying Attributes:** ## Vcs Ref @@ -42,35 +29,6 @@ the `.git` extension. **Description:** A reference to a specific version in the Version Control System. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`vcs.ref.head.name`](/docs/registry/attribute/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [3] | `my-feature-branch`; `tag-1-test` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`vcs.ref.head.revision`](/docs/registry/attribute/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [4] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`vcs.ref.type`](/docs/registry/attribute/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[3] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a -given time. - -**[4] `vcs.ref.head.revision`:** `head` refers to where you are right now; the current reference at a -given time.The revision can be a full [hash value (see -glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), -of the recorded change to a ref within a repository pointing to a -commit [commit](https://git-scm.com/docs/git-commit) object. It does -not necessarily have to be a hash; it can simply define a [revision -number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html) -which is an integer that is monotonically increasing. In cases where -it is identical to the `ref.head.name`, it SHOULD still be included. -It is up to the implementer to decide which value to set as the -revision based on the VCS system and situational context. - ---- - -`vcs.ref.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 | Stability | -|---|---|---| -| `branch` | [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch) | ![Development](https://img.shields.io/badge/-development-blue) | -| `tag` | [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag) | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/docs/registry/entities/webengine.md b/docs/registry/entities/webengine.md index b4abf9ac4d..411bc58134 100644 --- a/docs/registry/entities/webengine.md +++ b/docs/registry/entities/webengine.md @@ -8,7 +8,6 @@ - ## Webengine **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -18,11 +17,6 @@ **Description:** Resource describing the packaged software running the application code. Web engines are typically executed using process.runtime. - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`webengine.name`](/docs/registry/attribute/webengine.md) | string | The name of the web engine. | `WildFly` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`webengine.description`](/docs/registry/attribute/webengine.md) | string | Additional description of the web engine (e.g. detailed version and edition information). | `WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`webengine.version`](/docs/registry/attribute/webengine.md) | string | The version of the web engine. | `21.0.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +**Identifying Attributes:** diff --git a/model/k8s/entities.yaml b/model/k8s/entities.yaml index de3cefcc24..81c5efe8d5 100644 --- a/model/k8s/entities.yaml +++ b/model/k8s/entities.yaml @@ -7,7 +7,9 @@ groups: A Kubernetes Cluster. attributes: - ref: k8s.cluster.name + role: descriptive - ref: k8s.cluster.uid + role: identifying - id: entity.k8s.node type: entity @@ -17,11 +19,15 @@ groups: A Kubernetes Node object. attributes: - ref: k8s.node.name + role: descriptive - ref: k8s.node.uid + role: identifying - ref: k8s.node.label requirement_level: opt_in + role: descriptive - ref: k8s.node.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.namespace type: entity @@ -31,10 +37,13 @@ groups: A Kubernetes Namespace. attributes: - ref: k8s.namespace.name + role: identifying - ref: k8s.namespace.label requirement_level: opt_in + role: descriptive - ref: k8s.namespace.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.pod type: entity @@ -44,11 +53,15 @@ groups: A Kubernetes Pod object. attributes: - ref: k8s.pod.uid + role: identifying - ref: k8s.pod.name + role: descriptive - ref: k8s.pod.label requirement_level: opt_in + role: descriptive - ref: k8s.pod.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.container type: entity @@ -58,8 +71,11 @@ groups: A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). attributes: - ref: k8s.container.name + role: identifying - ref: k8s.container.restart_count + role: descriptive - ref: k8s.container.status.last_terminated_reason + role: descriptive - id: entity.k8s.replicaset type: entity @@ -69,11 +85,15 @@ groups: A Kubernetes ReplicaSet object. attributes: - ref: k8s.replicaset.uid + role: identifying - ref: k8s.replicaset.name + role: descriptive - ref: k8s.replicaset.label requirement_level: opt_in + role: descriptive - ref: k8s.replicaset.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.deployment type: entity @@ -83,11 +103,15 @@ groups: A Kubernetes Deployment object. attributes: - ref: k8s.deployment.uid + role: identifying - ref: k8s.deployment.name + role: descriptive - ref: k8s.deployment.label requirement_level: opt_in + role: descriptive - ref: k8s.deployment.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.statefulset type: entity @@ -97,11 +121,15 @@ groups: A Kubernetes StatefulSet object. attributes: - ref: k8s.statefulset.uid + role: identifying - ref: k8s.statefulset.name + role: descriptive - ref: k8s.statefulset.label requirement_level: opt_in + role: descriptive - ref: k8s.statefulset.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.daemonset type: entity @@ -111,11 +139,15 @@ groups: A Kubernetes DaemonSet object. attributes: - ref: k8s.daemonset.uid + role: identifying - ref: k8s.daemonset.name + role: descriptive - ref: k8s.daemonset.label requirement_level: opt_in + role: descriptive - ref: k8s.daemonset.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.job type: entity @@ -125,11 +157,15 @@ groups: A Kubernetes Job object. attributes: - ref: k8s.job.uid + role: identifying - ref: k8s.job.name + role: descriptive - ref: k8s.job.label requirement_level: opt_in + role: descriptive - ref: k8s.job.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.cronjob type: entity @@ -139,11 +175,15 @@ groups: A Kubernetes CronJob object. attributes: - ref: k8s.cronjob.uid + role: identifying - ref: k8s.cronjob.name + role: descriptive - ref: k8s.cronjob.label requirement_level: opt_in + role: descriptive - ref: k8s.cronjob.annotation requirement_level: opt_in + role: descriptive - id: entity.k8s.replicationcontroller type: entity @@ -153,7 +193,9 @@ groups: A Kubernetes ReplicationController object. attributes: - ref: k8s.replicationcontroller.uid + role: identifying - ref: k8s.replicationcontroller.name + role: descriptive - id: entity.k8s.hpa type: entity @@ -163,7 +205,9 @@ groups: A Kubernetes HorizontalPodAutoscaler object. attributes: - ref: k8s.hpa.uid + role: identifying - ref: k8s.hpa.name + role: descriptive - id: entity.k8s.resourcequota type: entity @@ -173,4 +217,6 @@ groups: A Kubernetes ResourceQuota object. attributes: - ref: k8s.resourcequota.uid + role: identifying - ref: k8s.resourcequota.name + role: descriptive diff --git a/model/service/entities.yaml b/model/service/entities.yaml index 5627ac5193..319eb39eae 100644 --- a/model/service/entities.yaml +++ b/model/service/entities.yaml @@ -8,6 +8,10 @@ groups: attributes: - ref: service.name requirement_level: required + role: identifying - ref: service.version + role: descriptive - ref: service.namespace + role: identifying - ref: service.instance.id + role: identifying diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index 470e0a8f47..2bd7d3d841 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -9,6 +9,8 @@ {# TODO ToC #} {% for e in ctx.groups %} +{%- set id_attrs = e.attributes | selectattr("role", "equalto", "identifying") -%} +{%- set desc_attrs = e.attributes | selectattr("role", "equalto", "descriptive") -%} ## {{ e.name | title_case }} **Status:** {{ stability.badge(e.stability, e.deprecated) }} @@ -17,6 +19,13 @@ **Description:** {{ e.brief }} -{# TODO: Add identifying vs. descriptive attributes #} -{{ at.generate(e.attributes, "", "/docs/registry/attribute", e.lineage.attributes) }} +**Identifying Attributes:** +{{ at.generate(id_attrs, "", "/docs/registry/attribute", e.lineage.attributes) }} + + +{%- if desc_attrs | length > 0 %} +**Descriptive Attributes:** +{{ at.generate(desc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) }} +{% endif %} + {% endfor %} \ No newline at end of file From c1a8fc40bd5661ba764c07b159ae551451eeaef6 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Mon, 19 May 2025 08:57:50 -0400 Subject: [PATCH 03/28] Remove need for attribute registry direct parameter, also fix stability of generation. --- Makefile | 4 +- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 52 ++-- docs/registry/entities/aws.md | 12 +- docs/registry/entities/cloudfoundry.md | 30 +- docs/registry/entities/k8s.md | 268 +++++++++--------- docs/registry/entities/telemetry.md | 16 +- docs/registry/entities/vcs.md | 12 +- .../registry/markdown/entity_namespace.md.j2 | 2 +- .../registry/markdown/entity_readme.md.j2 | 4 +- templates/registry/markdown/snippet.md.j2 | 4 +- 11 files changed, 204 insertions(+), 202 deletions(-) diff --git a/Makefile b/Makefile index 81f16f0b85..3b53ab5b3e 100644 --- a/Makefile +++ b/Makefile @@ -195,7 +195,7 @@ table-generation: --mount 'type=bind,source=$(PWD)/docs,target=/home/weaver/target' \ $(WEAVER_CONTAINER) registry update-markdown \ --registry=/home/weaver/source \ - --attribute-registry-base-url=/docs/registry/attributes \ + -Dregistry_base_url=/docs/registry/ \ --templates=/home/weaver/templates \ --target=markdown \ --future \ @@ -230,7 +230,7 @@ table-check: --mount 'type=bind,source=$(PWD)/docs,target=/home/weaver/target,readonly' \ $(WEAVER_CONTAINER) registry update-markdown \ --registry=/home/weaver/source \ - --attribute-registry-base-url=/docs/registry/attributes \ + -Dregistry_base_url=/docs/registry/ \ --templates=/home/weaver/templates \ --target=markdown \ --dry-run \ diff --git a/docs/registry/README.md b/docs/registry/README.md index ade021a9c6..31b1e729ed 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) \ No newline at end of file +- [Entities](entities/README.md) diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index 80ae7b8ac8..518f3dbada 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -41,11 +41,11 @@ Currently, the following namespaces exist: AWS - aws.eks + aws.ecs Development - aws.ecs + aws.eks Development @@ -81,23 +81,23 @@ Currently, the following namespaces exist: CloudFoundry - cloudfoundry.system + cloudfoundry.app Development - cloudfoundry.app + cloudfoundry.org Development - cloudfoundry.space + cloudfoundry.process Development - cloudfoundry.org + cloudfoundry.space Development - cloudfoundry.process + cloudfoundry.system Development Container @@ -169,43 +169,43 @@ Currently, the following namespaces exist: Development - k8s.node + k8s.container Development - k8s.namespace + k8s.cronjob Development - k8s.pod + k8s.daemonset Development - k8s.container + k8s.deployment Development - k8s.replicaset + k8s.hpa Development - k8s.deployment + k8s.job Development - k8s.statefulset + k8s.namespace Development - k8s.daemonset + k8s.node Development - k8s.job + k8s.pod Development - k8s.cronjob + k8s.replicaset Development @@ -213,11 +213,11 @@ Currently, the following namespaces exist: Development - k8s.hpa + k8s.resourcequota Development - k8s.resourcequota + k8s.statefulset Development OS @@ -249,23 +249,23 @@ Currently, the following namespaces exist: Stable Telemetry - - - telemetry.sdk - Stable telemetry.distro Development + + + telemetry.sdk + Stable VCS - vcs.repo + vcs.ref Development - vcs.ref + vcs.repo Development Webengine @@ -275,4 +275,4 @@ Currently, the following namespaces exist: Development - \ No newline at end of file + diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index 18491f8298..5cf13ede3b 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -8,25 +8,25 @@ -## Aws Eks +## Aws Ecs **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `aws.eks` +**type:** `aws.ecs` -**Description:** Entities used by AWS Elastic Kubernetes Service (EKS). +**Description:** Entities used by AWS Elastic Container Service (ECS). **Identifying Attributes:** -## Aws Ecs +## Aws Eks **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `aws.ecs` +**type:** `aws.eks` -**Description:** Entities used by AWS Elastic Container Service (ECS). +**Description:** Entities used by AWS Elastic Kubernetes Service (EKS). **Identifying Attributes:** diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index 2a3bbfaf3c..850f0c4bfc 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -8,61 +8,61 @@ -## Cloudfoundry System +## Cloudfoundry App **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `cloudfoundry.system` +**type:** `cloudfoundry.app` -**Description:** The system component which is monitored. +**Description:** The application which is monitored. **Identifying Attributes:** -## Cloudfoundry App +## Cloudfoundry Org **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `cloudfoundry.app` +**type:** `cloudfoundry.org` -**Description:** The application which is monitored. +**Description:** The organization of the application which is monitored. **Identifying Attributes:** -## Cloudfoundry Space +## Cloudfoundry Process **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `cloudfoundry.space` +**type:** `cloudfoundry.process` -**Description:** The space of the application which is monitored. +**Description:** The process of the application which is monitored. **Identifying Attributes:** -## Cloudfoundry Org +## Cloudfoundry Space **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `cloudfoundry.org` +**type:** `cloudfoundry.space` -**Description:** The organization of the application which is monitored. +**Description:** The space of the application which is monitored. **Identifying Attributes:** -## Cloudfoundry Process +## Cloudfoundry System **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `cloudfoundry.process` +**type:** `cloudfoundry.system` -**Description:** The process of the application which is monitored. +**Description:** The system component which is monitored. **Identifying Attributes:** diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index 2ecae96a04..18d6abe451 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -54,320 +54,314 @@ conflict. -## K8s Node +## K8s Container **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.node` +**type:** `k8s.container` -**Description:** A Kubernetes Node object. +**Description:** A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.node.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.container.name`](/docs/registry/attribute/k8s.md) | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.node.name`](/docs/registry/attribute/k8s.md) | string | The name of the Node. | `node-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.node.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [2] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.node.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [3] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[2] `k8s.node.annotation.`:** Examples: - -- An annotation `node.alpha.kubernetes.io/ttl` with value `0` SHOULD be recorded as - the `k8s.node.annotation.node.alpha.kubernetes.io/ttl` attribute with value `"0"`. -- An annotation `data` with empty string value SHOULD be recorded as - the `k8s.node.annotation.data` attribute with value `""`. - -**[3] `k8s.node.label.`:** Examples: - -- A label `kubernetes.io/arch` with value `arm64` SHOULD be recorded - as the `k8s.node.label.kubernetes.io/arch` attribute with value `"arm64"`. -- A label `data` with empty string value SHOULD be recorded as - the `k8s.node.label.data` attribute with value `""`. +| [`k8s.container.restart_count`](/docs/registry/attribute/k8s.md) | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.container.status.last_terminated_reason`](/docs/registry/attribute/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -## K8s Namespace +## K8s Cronjob **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.namespace` +**type:** `k8s.cronjob` -**Description:** A Kubernetes Namespace. +**Description:** A Kubernetes CronJob object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.namespace.name`](/docs/registry/attribute/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.namespace.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [4] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.namespace.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Namespace. [5] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.name`](/docs/registry/attribute/k8s.md) | string | The name of the CronJob. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.annotation.`](/docs/registry/attribute/k8s.md) | string | The cronjob annotation placed on the CronJob, the `` being the annotation name, the value being the annotation value. [2] | `4`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the CronJob, the `` being the label name, the value being the label value. [3] | `weekly`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[2] `k8s.cronjob.annotation.`:** Examples: + +- An annotation `retries` with value `4` SHOULD be recorded as the + `k8s.cronjob.annotation.retries` attribute with value `"4"`. +- An annotation `data` with empty string value SHOULD be recorded as + the `k8s.cronjob.annotation.data` attribute with value `""`. -**[4] `k8s.namespace.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[3] `k8s.cronjob.label.`:** Examples: -**[5] `k8s.namespace.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +- A label `type` with value `weekly` SHOULD be recorded as the + `k8s.cronjob.label.type` attribute with value `"weekly"`. +- A label `automated` with empty string value SHOULD be recorded as + the `k8s.cronjob.label.automated` attribute with value `""`. -## K8s Pod +## K8s Daemonset **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.pod` +**type:** `k8s.daemonset` -**Description:** A Kubernetes Pod object. +**Description:** A Kubernetes DaemonSet object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.pod.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.pod.name`](/docs/registry/attribute/k8s.md) | string | The name of the Pod. | `opentelemetry-pod-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.pod.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [6] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.pod.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [7] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.name`](/docs/registry/attribute/k8s.md) | string | The name of the DaemonSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the DaemonSet. [4] | `k8s.daemonset.annotation.replicas=1`; `k8s.daemonset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the DaemonSet. [5] | `k8s.daemonset.label.app=guestbook`; `k8s.daemonset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[6] `k8s.pod.annotation.`:** Examples: +**[4] `k8s.daemonset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. -- An annotation `kubernetes.io/enforce-mountable-secrets` with value `true` SHOULD be recorded as - the `k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets` attribute with value `"true"`. -- An annotation `mycompany.io/arch` with value `x64` SHOULD be recorded as - the `k8s.pod.annotation.mycompany.io/arch` attribute with value `"x64"`. -- An annotation `data` with empty string value SHOULD be recorded as - the `k8s.pod.annotation.data` attribute with value `""`. +**[5] `k8s.daemonset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. -**[7] `k8s.pod.label.`:** Examples: - -- A label `app` with value `my-app` SHOULD be recorded as - the `k8s.pod.label.app` attribute with value `"my-app"`. -- A label `mycompany.io/arch` with value `x64` SHOULD be recorded as - the `k8s.pod.label.mycompany.io/arch` attribute with value `"x64"`. -- A label `data` with empty string value SHOULD be recorded as - the `k8s.pod.label.data` attribute with value `""`. - -## K8s Container +## K8s Deployment **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.container` +**type:** `k8s.deployment` -**Description:** A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). +**Description:** A Kubernetes Deployment object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.container.name`](/docs/registry/attribute/k8s.md) | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.container.restart_count`](/docs/registry/attribute/k8s.md) | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.container.status.last_terminated_reason`](/docs/registry/attribute/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.name`](/docs/registry/attribute/k8s.md) | string | The name of the Deployment. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Deployment. [6] | `k8s.deployment.annotation.replicas=1`; `k8s.deployment.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Deployment. [7] | `k8s.deployment.label.app=guestbook`; `k8s.deployment.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +**[6] `k8s.deployment.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[7] `k8s.deployment.label.`:** The `` being the label name, the value being the label value, even if the value is empty. -## K8s Replicaset + + +## K8s Hpa **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.replicaset` +**type:** `k8s.hpa` -**Description:** A Kubernetes ReplicaSet object. +**Description:** A Kubernetes HorizontalPodAutoscaler object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.replicaset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.replicaset.name`](/docs/registry/attribute/k8s.md) | string | The name of the ReplicaSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicaset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [8] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicaset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [9] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | - -**[8] `k8s.replicaset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. - -**[9] `k8s.replicaset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +| [`k8s.hpa.name`](/docs/registry/attribute/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -## K8s Deployment +## K8s Job **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.deployment` +**type:** `k8s.job` -**Description:** A Kubernetes Deployment object. +**Description:** A Kubernetes Job object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.deployment.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.deployment.name`](/docs/registry/attribute/k8s.md) | string | The name of the Deployment. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.deployment.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Deployment. [10] | `k8s.deployment.annotation.replicas=1`; `k8s.deployment.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.deployment.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Deployment. [11] | `k8s.deployment.label.app=guestbook`; `k8s.deployment.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.name`](/docs/registry/attribute/k8s.md) | string | The name of the Job. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Job. [8] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Job. [9] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[10] `k8s.deployment.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[8] `k8s.job.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. -**[11] `k8s.deployment.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +**[9] `k8s.job.label.`:** The `` being the label name, the value being the label value, even if the value is empty. -## K8s Statefulset +## K8s Namespace **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.statefulset` +**type:** `k8s.namespace` -**Description:** A Kubernetes StatefulSet object. +**Description:** A Kubernetes Namespace. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.statefulset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.name`](/docs/registry/attribute/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.statefulset.name`](/docs/registry/attribute/k8s.md) | string | The name of the StatefulSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.statefulset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [12] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.statefulset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [13] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [10] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Namespace. [11] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[12] `k8s.statefulset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[10] `k8s.namespace.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. -**[13] `k8s.statefulset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +**[11] `k8s.namespace.label.`:** The `` being the label name, the value being the label value, even if the value is empty. -## K8s Daemonset +## K8s Node **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.daemonset` +**type:** `k8s.node` -**Description:** A Kubernetes DaemonSet object. +**Description:** A Kubernetes Node object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.daemonset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.daemonset.name`](/docs/registry/attribute/k8s.md) | string | The name of the DaemonSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.daemonset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the DaemonSet. [14] | `k8s.daemonset.annotation.replicas=1`; `k8s.daemonset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.daemonset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the DaemonSet. [15] | `k8s.daemonset.label.app=guestbook`; `k8s.daemonset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.name`](/docs/registry/attribute/k8s.md) | string | The name of the Node. | `node-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [12] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [13] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[14] `k8s.daemonset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[12] `k8s.node.annotation.`:** Examples: -**[15] `k8s.daemonset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +- An annotation `node.alpha.kubernetes.io/ttl` with value `0` SHOULD be recorded as + the `k8s.node.annotation.node.alpha.kubernetes.io/ttl` attribute with value `"0"`. +- An annotation `data` with empty string value SHOULD be recorded as + the `k8s.node.annotation.data` attribute with value `""`. +**[13] `k8s.node.label.`:** Examples: +- A label `kubernetes.io/arch` with value `arm64` SHOULD be recorded + as the `k8s.node.label.kubernetes.io/arch` attribute with value `"arm64"`. +- A label `data` with empty string value SHOULD be recorded as + the `k8s.node.label.data` attribute with value `""`. -## K8s Job + + +## K8s Pod **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.job` +**type:** `k8s.pod` -**Description:** A Kubernetes Job object. +**Description:** A Kubernetes Pod object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.job.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.job.name`](/docs/registry/attribute/k8s.md) | string | The name of the Job. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.job.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Job. [16] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.job.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Job. [17] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.name`](/docs/registry/attribute/k8s.md) | string | The name of the Pod. | `opentelemetry-pod-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [14] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [15] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[14] `k8s.pod.annotation.`:** Examples: + +- An annotation `kubernetes.io/enforce-mountable-secrets` with value `true` SHOULD be recorded as + the `k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets` attribute with value `"true"`. +- An annotation `mycompany.io/arch` with value `x64` SHOULD be recorded as + the `k8s.pod.annotation.mycompany.io/arch` attribute with value `"x64"`. +- An annotation `data` with empty string value SHOULD be recorded as + the `k8s.pod.annotation.data` attribute with value `""`. -**[16] `k8s.job.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[15] `k8s.pod.label.`:** Examples: -**[17] `k8s.job.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +- A label `app` with value `my-app` SHOULD be recorded as + the `k8s.pod.label.app` attribute with value `"my-app"`. +- A label `mycompany.io/arch` with value `x64` SHOULD be recorded as + the `k8s.pod.label.mycompany.io/arch` attribute with value `"x64"`. +- A label `data` with empty string value SHOULD be recorded as + the `k8s.pod.label.data` attribute with value `""`. -## K8s Cronjob +## K8s Replicaset **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.cronjob` +**type:** `k8s.replicaset` -**Description:** A Kubernetes CronJob object. +**Description:** A Kubernetes ReplicaSet object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.cronjob.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.cronjob.name`](/docs/registry/attribute/k8s.md) | string | The name of the CronJob. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.cronjob.annotation.`](/docs/registry/attribute/k8s.md) | string | The cronjob annotation placed on the CronJob, the `` being the annotation name, the value being the annotation value. [18] | `4`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.cronjob.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the CronJob, the `` being the label name, the value being the label value. [19] | `weekly`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.name`](/docs/registry/attribute/k8s.md) | string | The name of the ReplicaSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [16] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [17] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[18] `k8s.cronjob.annotation.`:** Examples: +**[16] `k8s.replicaset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. -- An annotation `retries` with value `4` SHOULD be recorded as the - `k8s.cronjob.annotation.retries` attribute with value `"4"`. -- An annotation `data` with empty string value SHOULD be recorded as - the `k8s.cronjob.annotation.data` attribute with value `""`. - -**[19] `k8s.cronjob.label.`:** Examples: - -- A label `type` with value `weekly` SHOULD be recorded as the - `k8s.cronjob.label.type` attribute with value `"weekly"`. -- A label `automated` with empty string value SHOULD be recorded as - the `k8s.cronjob.label.automated` attribute with value `""`. +**[17] `k8s.replicaset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. @@ -395,48 +389,54 @@ conflict. -## K8s Hpa +## K8s Resourcequota **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.hpa` +**type:** `k8s.resourcequota` -**Description:** A Kubernetes HorizontalPodAutoscaler object. +**Description:** A Kubernetes ResourceQuota object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.hpa.name`](/docs/registry/attribute/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.resourcequota.name`](/docs/registry/attribute/k8s.md) | string | The name of the resource quota. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -## K8s Resourcequota +## K8s Statefulset **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `k8s.resourcequota` +**type:** `k8s.statefulset` -**Description:** A Kubernetes ResourceQuota object. +**Description:** A Kubernetes StatefulSet object. **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.resourcequota.name`](/docs/registry/attribute/k8s.md) | string | The name of the resource quota. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.name`](/docs/registry/attribute/k8s.md) | string | The name of the StatefulSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [18] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [19] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[18] `k8s.statefulset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. + +**[19] `k8s.statefulset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index 9e30bdda9a..6b6824c086 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -8,25 +8,25 @@ -## Telemetry Sdk +## Telemetry Distro -**Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) +**Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `telemetry.sdk` +**type:** `telemetry.distro` -**Description:** The telemetry SDK used to capture data recorded by the instrumentation libraries. +**Description:** The distribution of telemetry SDK used to capture data recorded by the instrumentation libraries. **Identifying Attributes:** -## Telemetry Distro +## Telemetry Sdk -**Status:** ![Development](https://img.shields.io/badge/-development-blue) +**Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) -**type:** `telemetry.distro` +**type:** `telemetry.sdk` -**Description:** The distribution of telemetry SDK used to capture data recorded by the instrumentation libraries. +**Description:** The telemetry SDK used to capture data recorded by the instrumentation libraries. **Identifying Attributes:** diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index 71d6cb5936..69b173e8ec 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -8,25 +8,25 @@ -## Vcs Repo +## Vcs Ref **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `vcs.repo` +**type:** `vcs.ref` -**Description:** A repository in the Version Control System. +**Description:** A reference to a specific version in the Version Control System. **Identifying Attributes:** -## Vcs Ref +## Vcs Repo **Status:** ![Development](https://img.shields.io/badge/-development-blue) -**type:** `vcs.ref` +**type:** `vcs.repo` -**Description:** A reference to a specific version in the Version Control System. +**Description:** A repository in the Version Control System. **Identifying Attributes:** diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index 2bd7d3d841..b01563b034 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -8,7 +8,7 @@ {# TODO ToC #} -{% for e in ctx.groups %} +{% for e in ctx.groups | sort(attribute='name') %} {%- set id_attrs = e.attributes | selectattr("role", "equalto", "identifying") -%} {%- set desc_attrs = e.attributes | selectattr("role", "equalto", "descriptive") -%} ## {{ e.name | title_case }} diff --git a/templates/registry/markdown/entity_readme.md.j2 b/templates/registry/markdown/entity_readme.md.j2 index 002701570b..73ce5a29b7 100644 --- a/templates/registry/markdown/entity_readme.md.j2 +++ b/templates/registry/markdown/entity_readme.md.j2 @@ -29,7 +29,7 @@ Currently, the following namespaces exist: {% for bundle in ctx %} {{ bundle.id | title_case | acronym }} -{%- for group in bundle.groups -%} +{%- for group in bundle.groups | sort(attribute='name') -%} {%- set my_file_name = bundle.id | kebab_case ~ ".md#" ~ (group.name | kebab_case) -%} @@ -39,4 +39,4 @@ Currently, the following namespaces exist: {%- endfor %} {%- endfor %} - \ No newline at end of file + diff --git a/templates/registry/markdown/snippet.md.j2 b/templates/registry/markdown/snippet.md.j2 index 2a440b1d9f..7555c5243a 100644 --- a/templates/registry/markdown/snippet.md.j2 +++ b/templates/registry/markdown/snippet.md.j2 @@ -7,7 +7,9 @@ {%- import 'metric_table.j2' as mt -%} {%- import 'event_macros.j2' as event -%} {%- import 'resource_macros.j2' as resource -%} -{%- import 'span_macros.j2' as span %} +{%- import 'span_macros.j2' as span -%} +{%- set attribute_registry_base_url=params.registry_base_url~"attributes" %} +{%- set entity_registry_base_url=params.registry_base_url~"entities" %} {% macro generate_event(group) -%} {{ event.header(group) }}{{ generate_attributes(group) }}{{ event.body(group.body) }}{% endmacro -%} From 4c26f752a7db6041a14b2947b9f282480799c22a Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Mon, 19 May 2025 09:08:52 -0400 Subject: [PATCH 04/28] Add cross linking of entity association for metrics. --- docs/cicd/cicd-metrics.md | 24 ++++---- docs/system/process-metrics.md | 22 ++++---- docs/system/system-metrics.md | 58 ++++++++++---------- templates/registry/markdown/entity_macros.j2 | 6 ++ templates/registry/markdown/metric_table.j2 | 6 +- templates/registry/markdown/snippet.md.j2 | 6 +- 6 files changed, 64 insertions(+), 58 deletions(-) create mode 100644 templates/registry/markdown/entity_macros.j2 diff --git a/docs/cicd/cicd-metrics.md b/docs/cicd/cicd-metrics.md index d2a15e03ba..453b28b396 100644 --- a/docs/cicd/cicd-metrics.md +++ b/docs/cicd/cicd-metrics.md @@ -48,7 +48,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `cicd.pipeline.run.duration` | Histogram | `s` | Duration of a pipeline run grouped by pipeline, state and result. | ![Development](https://img.shields.io/badge/-development-blue) | `cicd.pipeline` | +| `cicd.pipeline.run.duration` | Histogram | `s` | Duration of a pipeline run grouped by pipeline, state and result. | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd.pipeline) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -128,7 +128,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `cicd.pipeline.run.active` | UpDownCounter | `{run}` | The number of pipeline runs currently active in the system by state. | ![Development](https://img.shields.io/badge/-development-blue) | `cicd.pipeline` | +| `cicd.pipeline.run.active` | UpDownCounter | `{run}` | The number of pipeline runs currently active in the system by state. | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd.pipeline) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -199,7 +199,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `cicd.pipeline.run.errors` | Counter | `{error}` | The number of errors encountered in pipeline runs (eg. compile, test failures). [1] | ![Development](https://img.shields.io/badge/-development-blue) | `cicd.pipeline` | +| `cicd.pipeline.run.errors` | Counter | `{error}` | The number of errors encountered in pipeline runs (eg. compile, test failures). [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd.pipeline) | **[1]:** There might be errors in a pipeline run that are non fatal (eg. they are suppressed) or in a parallel stage multiple stages could have a fatal error. This means that this error count might not be the same as the count of metric `cicd.pipeline.run.duration` with run result `failure`. @@ -317,7 +317,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.change.count` | UpDownCounter | `{change}` | The number of changes (pull requests/merge requests/changelists) in a repository, categorized by their state (e.g. open or merged) | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo` | +| `vcs.change.count` | UpDownCounter | `{change}` | The number of changes (pull requests/merge requests/changelists) in a repository, categorized by their state (e.g. open or merged) | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -374,7 +374,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.change.duration` | Gauge | `s` | The time duration a change (pull request/merge request/changelist) has been in a given state. | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo` | +| `vcs.change.duration` | Gauge | `s` | The time duration a change (pull request/merge request/changelist) has been in a given state. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -435,7 +435,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.change.time_to_approval` | Gauge | `s` | The amount of time since its creation it took a change (pull request/merge request/changelist) to get the first approval. | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo`; `vcs.ref` | +| `vcs.change.time_to_approval` | Gauge | `s` | The amount of time since its creation it took a change (pull request/merge request/changelist) to get the first approval. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo); [`vcs.ref`](/docs/registry/entities/vcs.md#vcs.ref) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -517,7 +517,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.change.time_to_merge` | Gauge | `s` | The amount of time since its creation it took a change (pull request/merge request/changelist) to get merged into the target(base) ref. | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo`; `vcs.ref` | +| `vcs.change.time_to_merge` | Gauge | `s` | The amount of time since its creation it took a change (pull request/merge request/changelist) to get merged into the target(base) ref. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo); [`vcs.ref`](/docs/registry/entities/vcs.md#vcs.ref) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -635,7 +635,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.ref.count` | UpDownCounter | `{ref}` | The number of refs of type branch or tag in a repository. | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo` | +| `vcs.ref.count` | UpDownCounter | `{ref}` | The number of refs of type branch or tag in a repository. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -690,7 +690,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.ref.lines_delta` | Gauge | `{line}` | The number of lines added/removed in a ref (branch) relative to the ref from the `vcs.ref.base.name` attribute. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo` | +| `vcs.ref.lines_delta` | Gauge | `{line}` | The number of lines added/removed in a ref (branch) relative to the ref from the `vcs.ref.base.name` attribute. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | **[1]:** This metric should be reported for each `vcs.line_change.type` value. For example if a ref added 3 lines and removed 2 lines, instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers). @@ -786,7 +786,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.ref.revisions_delta` | Gauge | `{revision}` | The number of revisions (commits) a ref (branch) is ahead/behind the branch from the `vcs.ref.base.name` attribute [1] | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo` | +| `vcs.ref.revisions_delta` | Gauge | `{revision}` | The number of revisions (commits) a ref (branch) is ahead/behind the branch from the `vcs.ref.base.name` attribute [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | **[1]:** This metric should be reported for each `vcs.revision_delta.direction` value. For example if branch `a` is 3 commits behind and 2 commits ahead of `trunk`, instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers) and `vcs.ref.base.name` is set to `trunk`. @@ -881,7 +881,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.ref.time` | Gauge | `s` | Time a ref (branch) created from the default branch (trunk) has existed. The `ref.type` attribute will always be `branch` | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo` | +| `vcs.ref.time` | Gauge | `s` | Time a ref (branch) created from the default branch (trunk) has existed. The `ref.type` attribute will always be `branch` | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -943,7 +943,7 @@ This metric is [opt-in][MetricOptIn]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.contributor.count` | Gauge | `{contributor}` | The number of unique contributors to a repository | ![Development](https://img.shields.io/badge/-development-blue) | `vcs.repo` | +| `vcs.contributor.count` | Gauge | `{contributor}` | The number of unique contributors to a repository | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| diff --git a/docs/system/process-metrics.md b/docs/system/process-metrics.md index f69589ff9f..f42e56a7c5 100644 --- a/docs/system/process-metrics.md +++ b/docs/system/process-metrics.md @@ -57,7 +57,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.cpu.time` | Counter | `s` | Total CPU seconds broken down by different states. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.cpu.time` | Counter | `s` | Total CPU seconds broken down by different states. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -98,7 +98,7 @@ This metric is [opt-in][MetricOptIn]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.cpu.utilization` | Gauge | `1` | Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.cpu.utilization` | Gauge | `1` | Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -139,7 +139,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.memory.usage` | UpDownCounter | `By` | The amount of physical memory in use. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.memory.usage` | UpDownCounter | `By` | The amount of physical memory in use. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | @@ -159,7 +159,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.memory.virtual` | UpDownCounter | `By` | The amount of committed virtual memory. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.memory.virtual` | UpDownCounter | `By` | The amount of committed virtual memory. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | @@ -179,7 +179,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.disk.io` | Counter | `By` | Disk bytes transferred. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.disk.io` | Counter | `By` | Disk bytes transferred. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -212,7 +212,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.network.io` | Counter | `By` | Network bytes transferred. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.network.io` | Counter | `By` | Network bytes transferred. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -245,7 +245,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.thread.count` | UpDownCounter | `{thread}` | Process threads count. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.thread.count` | UpDownCounter | `{thread}` | Process threads count. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | @@ -265,7 +265,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.open_file_descriptor.count` | UpDownCounter | `{file_descriptor}` | Number of file descriptors in use by the process. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.open_file_descriptor.count` | UpDownCounter | `{file_descriptor}` | Number of file descriptors in use by the process. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | @@ -285,7 +285,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.context_switches` | Counter | `{context_switch}` | Number of times the process has been context switched. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.context_switches` | Counter | `{context_switch}` | Number of times the process has been context switched. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -318,7 +318,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.paging.faults` | Counter | `{fault}` | Number of page faults the process has made. | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.paging.faults` | Counter | `{fault}` | Number of page faults the process has made. | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -351,7 +351,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `process.uptime` | Gauge | `s` | The time the process has been running. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `process` | +| `process.uptime` | Gauge | `s` | The time the process has been running. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`process`](/docs/registry/entities/process.md#process) | **[1]:** Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available. The actual accuracy would depend on the instrumentation and operating system. diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md index 7995d46f2e..6c42623b28 100644 --- a/docs/system/system-metrics.md +++ b/docs/system/system-metrics.md @@ -87,7 +87,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.uptime` | Gauge | `s` | The time the system has been running [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.uptime` | Gauge | `s` | The time the system has been running [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available. The actual accuracy would depend on the instrumentation and operating system. @@ -114,7 +114,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.cpu.physical.count` | UpDownCounter | `{cpu}` | Reports the number of actual physical processor cores on the hardware [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.cpu.physical.count` | UpDownCounter | `{cpu}` | Reports the number of actual physical processor cores on the hardware [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** Calculated by multiplying the number of sockets by the number of cores per socket @@ -136,7 +136,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.cpu.logical.count` | UpDownCounter | `{cpu}` | Reports the number of logical (virtual) processor cores created by the operating system to manage multitasking [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.cpu.logical.count` | UpDownCounter | `{cpu}` | Reports the number of logical (virtual) processor cores created by the operating system to manage multitasking [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** Calculated by multiplying the number of sockets by the number of cores per socket, and then by the number of threads per core @@ -247,7 +247,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.memory.usage` | UpDownCounter | `By` | Reports memory in use by state. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.memory.usage` | UpDownCounter | `By` | Reports memory in use by state. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** The sum over all `system.memory.state` values SHOULD equal the total memory available on the system, that is `system.memory.limit`. @@ -285,7 +285,7 @@ This metric is [opt-in][MetricOptIn]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.memory.limit` | UpDownCounter | `By` | Total memory available in the system. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.memory.limit` | UpDownCounter | `By` | Total memory available in the system. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** Its value SHOULD equal the sum of `system.memory.state` over all states. @@ -307,7 +307,7 @@ This metric is [opt-in][MetricOptIn]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.memory.shared` | UpDownCounter | `By` | Shared memory used (mostly by tmpfs). [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.memory.shared` | UpDownCounter | `By` | Shared memory used (mostly by tmpfs). [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** Equivalent of `shared` from [`free` command](https://man7.org/linux/man-pages/man1/free.1.html) or `Shmem` from [`/proc/meminfo`](https://man7.org/linux/man-pages/man5/proc.5.html)" @@ -330,7 +330,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.memory.utilization` | Gauge | `1` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.memory.utilization` | Gauge | `1` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -369,7 +369,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.paging.usage` | UpDownCounter | `By` | Unix swap or windows pagefile usage | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.paging.usage` | UpDownCounter | `By` | Unix swap or windows pagefile usage | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -403,7 +403,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.paging.utilization` | Gauge | `1` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.paging.utilization` | Gauge | `1` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -437,7 +437,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.paging.faults` | Counter | `{fault}` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.paging.faults` | Counter | `{fault}` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -470,7 +470,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.paging.operations` | Counter | `{operation}` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.paging.operations` | Counter | `{operation}` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -517,7 +517,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.disk.io` | Counter | `By` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.disk.io` | Counter | `By` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -551,7 +551,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.disk.operations` | Counter | `{operation}` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.disk.operations` | Counter | `{operation}` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -585,7 +585,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.disk.io_time` | Counter | `s` | Time disk spent activated [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.disk.io_time` | Counter | `s` | Time disk spent activated [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** The real elapsed time ("wall clock") used in the I/O path (time from operations running in parallel are not counted). Measured as: @@ -616,7 +616,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.disk.operation_time` | Counter | `s` | Sum of the time each operation took to complete [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.disk.operation_time` | Counter | `s` | Sum of the time each operation took to complete [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** Because it is the sum of time each request took, parallel-issued requests each contribute to make the count grow. Measured as: @@ -655,7 +655,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.disk.merged` | Counter | `{operation}` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.disk.merged` | Counter | `{operation}` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -689,7 +689,7 @@ This metric is [opt-in][MetricOptIn]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.disk.limit` | UpDownCounter | `By` | The total storage capacity of the disk | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.disk.limit` | UpDownCounter | `By` | The total storage capacity of the disk | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -717,7 +717,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.filesystem.usage` | UpDownCounter | `By` | Reports a filesystem's space usage across different states. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.filesystem.usage` | UpDownCounter | `By` | Reports a filesystem's space usage across different states. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** The sum of all `system.filesystem.usage` values over the different `system.filesystem.state` attributes SHOULD equal the total storage capacity of the filesystem, that is `system.filesystem.limit`. @@ -771,7 +771,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.filesystem.utilization` | Gauge | `1` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.filesystem.utilization` | Gauge | `1` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -822,7 +822,7 @@ This metric is [opt-in][MetricOptIn]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.filesystem.limit` | UpDownCounter | `By` | The total storage capacity of the filesystem | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.filesystem.limit` | UpDownCounter | `By` | The total storage capacity of the filesystem | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -866,7 +866,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.network.dropped` | Counter | `{packet}` | Count of packets that are dropped or discarded even though there was no error [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.network.dropped` | Counter | `{packet}` | Count of packets that are dropped or discarded even though there was no error [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** Measured as: @@ -906,7 +906,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.network.packets` | Counter | `{packet}` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.network.packets` | Counter | `{packet}` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -940,7 +940,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.network.errors` | Counter | `{error}` | Count of network errors detected [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.network.errors` | Counter | `{error}` | Count of network errors detected [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** Measured as: @@ -980,7 +980,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.network.io` | Counter | `By` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.network.io` | Counter | `By` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -1014,7 +1014,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.network.connections` | UpDownCounter | `{connection}` | | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.network.connections` | UpDownCounter | `{connection}` | | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -1083,7 +1083,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.process.count` | UpDownCounter | `{process}` | Total number of processes in each state | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.process.count` | UpDownCounter | `{process}` | Total number of processes in each state | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -1118,7 +1118,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.process.created` | Counter | `{process}` | Total number of processes created over uptime of the host | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.process.created` | Counter | `{process}` | Total number of processes created over uptime of the host | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | @@ -1168,7 +1168,7 @@ an `{os}` prefix to split this metric across OSes. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.linux.memory.available` | UpDownCounter | `By` | An estimate of how much memory is available for starting new applications, without causing swapping [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.linux.memory.available` | UpDownCounter | `By` | An estimate of how much memory is available for starting new applications, without causing swapping [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** This is an alternative to `system.memory.usage` metric with `state=free`. Linux starting from 3.14 exports "available" memory. It takes "free" memory as a baseline, and then factors in kernel-specific values. @@ -1194,7 +1194,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.linux.memory.slab.usage` | UpDownCounter | `By` | Reports the memory used by the Linux kernel for managing caches of frequently used objects. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.linux.memory.slab.usage` | UpDownCounter | `By` | Reports the memory used by the Linux kernel for managing caches of frequently used objects. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | **[1]:** The sum over the `reclaimable` and `unreclaimable` state values in `linux.memory.slab.usage` SHOULD be equal to the total slab memory available on the system. Note that the total slab memory is not constant and may vary over time. diff --git a/templates/registry/markdown/entity_macros.j2 b/templates/registry/markdown/entity_macros.j2 new file mode 100644 index 0000000000..02bd4acb60 --- /dev/null +++ b/templates/registry/markdown/entity_macros.j2 @@ -0,0 +1,6 @@ +{% macro registry_url(id, registry) -%} +{{registry}}/{{ id | split_id | list | first | kebab_case }}.md#{{ id }} +{%- endmacro %} +{% macro print_associations(associations, registry) -%} +{%- for e in associations %}{%if loop.first == false %}; {% endif %}[`{{ e | trim }}`]({{registry_url(e, registry)}}){%- endfor %} +{%- endmacro %} diff --git a/templates/registry/markdown/metric_table.j2 b/templates/registry/markdown/metric_table.j2 index 60006ff6fc..3f61f8b11e 100644 --- a/templates/registry/markdown/metric_table.j2 +++ b/templates/registry/markdown/metric_table.j2 @@ -1,8 +1,8 @@ {% import 'stability.j2' as stability %} {% import 'notes.j2' as notes %} {% import 'metric_macros.j2' as metrics %} -{% macro print_entities(associations) %}{%- for e in associations %}{%if loop.first == false %}; {% endif %}`{{ e | trim }}`{%- endfor %}{% endmacro %} -{% macro generate(group) %}| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | +{% import 'entity_macros.j2' as entities %} +{% macro generate(group, entity_registry) %}| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `{{ group.metric_name }}` | {{ metrics.instrument(group.instrument) | trim }} | `{{ group.unit }}` | {{ group.brief | trim }}{{ notes.add({"note": group.note}) }} | {{ stability.badge(group.stability, group.deprecated, group.brief) | trim }} | {{ print_entities(group.entity_associations) }} | +| `{{ group.metric_name }}` | {{ metrics.instrument(group.instrument) | trim }} | `{{ group.unit }}` | {{ group.brief | trim }}{{ notes.add({"note": group.note}) }} | {{ stability.badge(group.stability, group.deprecated, group.brief) | trim }} | {{ entities.print_associations(group.entity_associations, entity_registry) }} | {{ notes.render() }}{% endmacro %} diff --git a/templates/registry/markdown/snippet.md.j2 b/templates/registry/markdown/snippet.md.j2 index 7555c5243a..6472604799 100644 --- a/templates/registry/markdown/snippet.md.j2 +++ b/templates/registry/markdown/snippet.md.j2 @@ -15,8 +15,8 @@ {{ event.header(group) }}{{ generate_attributes(group) }}{{ event.body(group.body) }}{% endmacro -%} {%- macro generate_resource(group) -%} {{ resource.header(group) }}{{ generate_attributes(group) }}{% endmacro -%} -{%- macro generate_metric(group) -%} -{{ mt.generate(group) }} +{%- macro generate_metric(group, entity_registry_base_url) -%} +{{ mt.generate(group, entity_registry_base_url) }} {{ generate_attributes(group) }}{% endmacro -%} {%- macro generate_span(group) -%} {{ span.header(group) }}{{ generate_attributes(group) }}{% endmacro -%} @@ -28,7 +28,7 @@ {%- elif group.type == "resource" or group.type == "entity" -%} {{ generate_resource(group) }} {%- elif group.type == "metric" -%} -{{ generate_metric(group) }} +{{ generate_metric(group, entity_registry_base_url) }} {%- elif group.type == "span" -%} {{ generate_span(group) }} {%- else -%} From 12d3e56107bf5a6c68d33b2fc3cac80e53463fbe Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 10:23:09 -0400 Subject: [PATCH 05/28] Render all attributes without roles in the entity registry. --- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 2 +- docs/registry/entities/android.md | 12 ++ docs/registry/entities/app.md | 30 +++++ docs/registry/entities/aws.md | 60 +++++++++ docs/registry/entities/browser.md | 27 ++++ docs/registry/entities/cicd.md | 39 ++++++ docs/registry/entities/cloud.md | 93 ++++++++++++++ docs/registry/entities/cloudfoundry.md | 116 +++++++++++++++++ docs/registry/entities/container.md | 36 ++++++ docs/registry/entities/deployment.md | 20 +++ docs/registry/entities/device.md | 38 ++++++ docs/registry/entities/faas.md | 65 ++++++++++ docs/registry/entities/gcp.md | 120 ++++++++++++++++++ docs/registry/entities/heroku.md | 14 ++ docs/registry/entities/host.md | 84 ++++++++++++ docs/registry/entities/k8s.md | 14 ++ docs/registry/entities/os.md | 42 ++++++ docs/registry/entities/otel.md | 13 ++ docs/registry/entities/process.md | 46 +++++++ docs/registry/entities/service.md | 1 + docs/registry/entities/telemetry.md | 56 ++++++++ docs/registry/entities/vcs.md | 58 +++++++++ docs/registry/entities/webengine.md | 14 ++ .../registry/markdown/entity_namespace.md.j2 | 11 ++ 25 files changed, 1011 insertions(+), 2 deletions(-) diff --git a/docs/registry/README.md b/docs/registry/README.md index 31b1e729ed..ade021a9c6 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) +- [Entities](entities/README.md) \ No newline at end of file diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index 518f3dbada..6ad8c3566a 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -275,4 +275,4 @@ Currently, the following namespaces exist: Development - + \ No newline at end of file diff --git a/docs/registry/entities/android.md b/docs/registry/entities/android.md index 948c3d8c4c..1c6a825d98 100644 --- a/docs/registry/entities/android.md +++ b/docs/registry/entities/android.md @@ -20,3 +20,15 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`android.os.api_level`](/docs/registry/attribute/android.md) | string | Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). | `33`; `32` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + diff --git a/docs/registry/entities/app.md b/docs/registry/entities/app.md index d87952b63c..190eff7eec 100644 --- a/docs/registry/entities/app.md +++ b/docs/registry/entities/app.md @@ -20,3 +20,33 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`app.installation.id`](/docs/registry/attribute/app.md) | string | A unique identifier representing the installation of an application on a specific device [1] | `2ab2916d-a51f-4ac8-80ee-45ac31a28092` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `app.installation.id`:** Its value SHOULD persist across launches of the same application installation, including through application upgrades. +It SHOULD change if the application is uninstalled or if all applications of the vendor are uninstalled. +Additionally, users might be able to reset this value (e.g. by clearing application data). +If an app is installed multiple times on the same device (e.g. in different accounts on Android), each `app.installation.id` SHOULD have a different value. +If multiple OpenTelemetry SDKs are used within the same application, they SHOULD use the same value for `app.installation.id`. +Hardware IDs (e.g. serial number, IMEI, MAC address) MUST NOT be used as the `app.installation.id`. + +For iOS, this value SHOULD be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/identifierforvendor). + +For Android, examples of `app.installation.id` implementations include: + +- [Firebase Installation ID](https://firebase.google.com/docs/projects/manage-installations). +- A globally unique UUID which is persisted across sessions in your application. +- [App set ID](https://developer.android.com/identity/app-set-id). +- [`Settings.getString(Settings.Secure.ANDROID_ID)`](https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID). + +More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). + + + + + diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index 5cf13ede3b..d8e91afd58 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -20,6 +20,33 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`aws.ecs.task.id`](/docs/registry/attribute/aws.md) | string | The ID of a running ECS task. The ID MUST be extracted from `task.arn`. | `10838bed-421f-43ef-870a-f43feacbbb5b`; `23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Conditionally Required` If and only if `task.arn` is populated. | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.container.arn`](/docs/registry/attribute/aws.md) | string | The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | `arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.launchtype`](/docs/registry/attribute/aws.md) | string | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `ec2`; `fargate` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.arn`](/docs/registry/attribute/aws.md) | string | The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b`; `arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.family`](/docs/registry/attribute/aws.md) | string | The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task. | `opentelemetry-family` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.revision`](/docs/registry/attribute/aws.md) | string | The revision for the task definition used to create the ECS task. | `8`; `26` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +--- + +`aws.ecs.launchtype` 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 | +|---|---|---| +| `ec2` | ec2 | ![Development](https://img.shields.io/badge/-development-blue) | +| `fargate` | fargate | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Aws Eks **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -32,6 +59,18 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`aws.eks.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an EKS cluster. | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Aws Log **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -44,3 +83,24 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`aws.log.group.arns`](/docs/registry/attribute/aws.md) | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [1] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.group.names`](/docs/registry/attribute/aws.md) | string[] | The name(s) of the AWS log group(s) an application is writing to. [2] | `["/aws/lambda/my-function", "opentelemetry-service"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.stream.arns`](/docs/registry/attribute/aws.md) | string[] | The ARN(s) of the AWS log stream(s). [3] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.stream.names`](/docs/registry/attribute/aws.md) | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `aws.log.group.arns`:** See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). + +**[2] `aws.log.group.names`:** Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. + +**[3] `aws.log.stream.arns`:** See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. + + + + + diff --git a/docs/registry/entities/browser.md b/docs/registry/entities/browser.md index f99c04e458..71b942a0f0 100644 --- a/docs/registry/entities/browser.md +++ b/docs/registry/entities/browser.md @@ -20,3 +20,30 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`browser.brands`](/docs/registry/attribute/browser.md) | string[] | Array of brand name and version separated by a space [1] | `[" Not A;Brand 99", "Chromium 99", "Chrome 99"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.language`](/docs/registry/attribute/browser.md) | string | Preferred language of the user using the browser [2] | `en`; `en-US`; `fr`; `fr-FR` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.mobile`](/docs/registry/attribute/browser.md) | boolean | A boolean that is true if the browser is running on a mobile device [3] | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.platform`](/docs/registry/attribute/browser.md) | string | The platform on which the browser is running [4] | `Windows`; `macOS`; `Android` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`user_agent.original`](/docs/registry/attribute/user-agent.md) | string | Full user-agent string provided by the browser [5] | `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + +**[1] `browser.brands`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.brands`). + +**[2] `browser.language`:** This value is intended to be taken from the Navigator API `navigator.language`. + +**[3] `browser.mobile`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be left unset. + +**[4] `browser.platform`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.platform`). If unavailable, the legacy `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent. +The list of possible values is defined in the [W3C User-Agent Client Hints specification](https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform). Note that some (but not all) of these values can overlap with values in the [`os.type` and `os.name` attributes](./os.md). However, for consistency, the values in the `browser.platform` attribute should capture the exact value that the user agent provides. + +**[5] `user_agent.original`:** The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy `navigator.userAgent` API can be used. + + + + + diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md index 68f48a85fd..1d916120cb 100644 --- a/docs/registry/entities/cicd.md +++ b/docs/registry/entities/cicd.md @@ -20,6 +20,18 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cicd.pipeline.name`](/docs/registry/attribute/cicd.md) | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Cicd Pipeline Run **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -32,6 +44,19 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cicd.pipeline.run.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.pipeline.run.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the pipeline run, providing the complete address in order to locate and identify the pipeline run. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Cicd Worker **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -44,3 +69,17 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cicd.worker.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a worker within a CICD system. | `abc123`; `10.0.1.2`; `controller` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.worker.name`](/docs/registry/attribute/cicd.md) | string | The name of a worker within a CICD system. | `agent-abc`; `controller`; `Ubuntu LTS` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.worker.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker. | `https://cicd.example.org/worker/abc123` | `Recommended` If available | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + diff --git a/docs/registry/entities/cloud.md b/docs/registry/entities/cloud.md index 4a033faa2a..9b90f742ed 100644 --- a/docs/registry/entities/cloud.md +++ b/docs/registry/entities/cloud.md @@ -20,3 +20,96 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloud.account.id`](/docs/registry/attribute/cloud.md) | string | The cloud account ID the resource is assigned to. | `111111111111`; `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.availability_zone`](/docs/registry/attribute/cloud.md) | string | Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. [1] | `us-east-1c` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.platform`](/docs/registry/attribute/cloud.md) | string | The cloud platform in use. [2] | `alibaba_cloud_ecs`; `alibaba_cloud_fc`; `alibaba_cloud_openshift` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.provider`](/docs/registry/attribute/cloud.md) | string | Name of the cloud provider. | `alibaba_cloud`; `aws`; `azure` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.region`](/docs/registry/attribute/cloud.md) | string | The geographical region within a cloud provider. When associated with a resource, this attribute specifies the region where the resource operates. When calling services or APIs deployed on a cloud, this attribute identifies the region where the called destination is deployed. [3] | `us-central1`; `us-east-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.resource_id`](/docs/registry/attribute/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [4] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `cloud.availability_zone`:** Availability zones are called "zones" on Alibaba Cloud and Google Cloud. + +**[2] `cloud.platform`:** The prefix of the service SHOULD match the one specified in `cloud.provider`. + +**[3] `cloud.region`:** Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/global-infrastructure/geographies/), [Google Cloud regions](https://cloud.google.com/about/locations), or [Tencent Cloud regions](https://www.tencentcloud.com/document/product/213/6091). + +**[4] `cloud.resource_id`:** On some cloud providers, it may not be possible to determine the full ID at startup, +so it may be necessary to set `cloud.resource_id` as a span attribute instead. + +The exact value to use for `cloud.resource_id` depends on the cloud provider. +The following well-known definitions MUST be used if you set this attribute and they apply: + +- **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + Take care not to use the "invoked ARN" directly but replace any + [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) + with the resolved function version, as the same runtime instance may be invocable with + multiple different aliases. +- **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) +- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, + *not* the function app, having the form + `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. + This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share + a TracerProvider. + +--- + +`cloud.platform` 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 | +|---|---|---| +| `alibaba_cloud_ecs` | Alibaba Cloud Elastic Compute Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `alibaba_cloud_fc` | Alibaba Cloud Function Compute | ![Development](https://img.shields.io/badge/-development-blue) | +| `alibaba_cloud_openshift` | Red Hat OpenShift on Alibaba Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_app_runner` | AWS App Runner | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_ec2` | AWS Elastic Compute Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_ecs` | AWS Elastic Container Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_eks` | AWS Elastic Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_lambda` | AWS Lambda | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_aks` | Azure Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_app_service` | Azure App Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_container_apps` | Azure Container Apps | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_container_instances` | Azure Container Instances | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_functions` | Azure Functions | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_openshift` | Azure Red Hat OpenShift | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure_vm` | Azure Virtual Machines | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_cloud_run` | Google Cloud Run | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_compute_engine` | Google Cloud Compute Engine (GCE) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_kubernetes_engine` | Google Cloud Kubernetes Engine (GKE) | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp_openshift` | Red Hat OpenShift on Google Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `ibm_cloud_openshift` | Red Hat OpenShift on IBM Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `oracle_cloud_compute` | Compute on Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | +| `oracle_cloud_oke` | Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tencent_cloud_cvm` | Tencent Cloud Cloud Virtual Machine (CVM) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tencent_cloud_eks` | Tencent Cloud Elastic Kubernetes Service (EKS) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tencent_cloud_scf` | Tencent Cloud Serverless Cloud Function (SCF) | ![Development](https://img.shields.io/badge/-development-blue) | + +--- + +`cloud.provider` 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 | +|---|---|---| +| `alibaba_cloud` | Alibaba Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `aws` | Amazon Web Services | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure` | Microsoft Azure | ![Development](https://img.shields.io/badge/-development-blue) | +| `gcp` | Google Cloud Platform | ![Development](https://img.shields.io/badge/-development-blue) | +| `heroku` | Heroku Platform as a Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `ibm_cloud` | IBM Cloud | ![Development](https://img.shields.io/badge/-development-blue) | +| `oracle_cloud` | Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tencent_cloud` | Tencent Cloud | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index 850f0c4bfc..d4e398761b 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -20,6 +20,27 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.app.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the application. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.app.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the application. [2] | `my-app-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `cloudfoundry.app.id`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.application_id`. This is the same value as +reported by `cf app --guid`. + +**[2] `cloudfoundry.app.name`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.application_name`. This is the same value +as reported by `cf apps`. + + + + + ## Cloudfoundry Org **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -32,6 +53,27 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.org.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the CloudFoundry org the application is running in. [3] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.org.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the CloudFoundry organization the app is running in. [4] | `my-org-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[3] `cloudfoundry.org.id`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.org_id`. This is the same value as +reported by `cf org --guid`. + +**[4] `cloudfoundry.org.name`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.org_name`. This is the same value as +reported by `cf orgs`. + + + + + ## Cloudfoundry Process **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -44,6 +86,28 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.process.id`](/docs/registry/attribute/cloudfoundry.md) | string | The UID identifying the process. [5] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.process.type`](/docs/registry/attribute/cloudfoundry.md) | string | The type of process. [6] | `web` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[5] `cloudfoundry.process.id`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.process_id`. It is supposed to be equal to +`VCAP_APPLICATION.app_id` for applications deployed to the runtime. +For system components, this could be the actual PID. + +**[6] `cloudfoundry.process.type`:** CloudFoundry applications can consist of multiple jobs. Usually the +main process will be of type `web`. There can be additional background +tasks or side-cars with different process types. + + + + + ## Cloudfoundry Space **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -56,6 +120,27 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.space.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the CloudFoundry space the application is running in. [7] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.space.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the CloudFoundry space the application is running in. [8] | `my-space-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[7] `cloudfoundry.space.id`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.space_id`. This is the same value as +reported by `cf space --guid`. + +**[8] `cloudfoundry.space.name`:** Application instrumentation should use the value from environment +variable `VCAP_APPLICATION.space_name`. This is the same value as +reported by `cf spaces`. + + + + + ## Cloudfoundry System **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -68,3 +153,34 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`cloudfoundry.system.id`](/docs/registry/attribute/cloudfoundry.md) | string | A guid or another name describing the event source. [9] | `cf/gorouter` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.system.instance.id`](/docs/registry/attribute/cloudfoundry.md) | string | A guid describing the concrete instance of the event source. [10] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[9] `cloudfoundry.system.id`:** CloudFoundry defines the `source_id` in the [Loggregator v2 envelope](https://github.com/cloudfoundry/loggregator-api#v2-envelope). +It is used for logs and metrics emitted by CloudFoundry. It is +supposed to contain the component name, e.g. "gorouter", for +CloudFoundry components. + +When system components are instrumented, values from the +[Bosh spec](https://bosh.io/docs/jobs/#properties-spec) +should be used. The `system.id` should be set to +`spec.deployment/spec.name`. + +**[10] `cloudfoundry.system.instance.id`:** CloudFoundry defines the `instance_id` in the [Loggregator v2 envelope](https://github.com/cloudfoundry/loggregator-api#v2-envelope). +It is used for logs and metrics emitted by CloudFoundry. It is +supposed to contain the vm id for CloudFoundry components. + +When system components are instrumented, values from the +[Bosh spec](https://bosh.io/docs/jobs/#properties-spec) +should be used. The `system.instance.id` should be set to `spec.id`. + + + + + diff --git a/docs/registry/entities/container.md b/docs/registry/entities/container.md index 188e9e5458..74e1b8b461 100644 --- a/docs/registry/entities/container.md +++ b/docs/registry/entities/container.md @@ -20,3 +20,39 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`container.id`](/docs/registry/attribute/container.md) | string | Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification). The UUID might be abbreviated. | `a3bf90e006b2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.id`](/docs/registry/attribute/container.md) | string | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [1] | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.name`](/docs/registry/attribute/container.md) | string | Name of the image the container was built on. | `gcr.io/opentelemetry/operator` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.repo_digests`](/docs/registry/attribute/container.md) | string[] | Repo digests of the container image as provided by the container runtime. [2] | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.tags`](/docs/registry/attribute/container.md) | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. | `["v1.27.1", "3.5.7-0"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.label.`](/docs/registry/attribute/container.md) | string | Container labels, `` being the label name, the value being the label value. [3] | `nginx` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.name`](/docs/registry/attribute/container.md) | string | Container name used by container runtime. | `opentelemetry-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.runtime`](/docs/registry/attribute/container.md) | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`oci.manifest.digest`](/docs/registry/attribute/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command`](/docs/registry/attribute/container.md) | string | The command used to run the container (i.e. the command name). [5] | `otelcontribcol` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command_args`](/docs/registry/attribute/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. | `["otelcontribcol", "--config", "config.yaml"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command_line`](/docs/registry/attribute/container.md) | string | The full command run by the container as a single string representing the full command. | `otelcontribcol --config config.yaml` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `container.image.id`:** Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect) endpoint. +K8s defines a link to the container registry repository with digest `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. +The ID is assigned by the container runtime and can vary in different environments. Consider using `oci.manifest.digest` if it is important to identify the same image in different environments/runtimes. + +**[2] `container.image.repo_digests`:** [Docker](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect) and [CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238) report those under the `RepoDigests` field. + +**[3] `container.label.`:** For example, a docker container label `app` with value `nginx` SHOULD be recorded as the `container.label.app` attribute with value `"nginx"`. + +**[4] `oci.manifest.digest`:** Follows [OCI Image Manifest Specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md), and specifically the [Digest property](https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests). +An example can be found in [Example Image Manifest](https://github.com/opencontainers/image-spec/blob/main/manifest.md#example-image-manifest). + +**[5] `container.command`:** If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. + + + + + diff --git a/docs/registry/entities/deployment.md b/docs/registry/entities/deployment.md index 15ef48c27c..3db22c7db7 100644 --- a/docs/registry/entities/deployment.md +++ b/docs/registry/entities/deployment.md @@ -20,3 +20,23 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`deployment.environment.name`](/docs/registry/attribute/deployment.md) | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `deployment.environment.name`:** `deployment.environment.name` does not affect the uniqueness constraints defined through +the `service.namespace`, `service.name` and `service.instance.id` resource attributes. +This implies that resources carrying the following attribute combinations MUST be +considered to be identifying the same service: + +- `service.name=frontend`, `deployment.environment.name=production` +- `service.name=frontend`, `deployment.environment.name=staging`. + + + + + diff --git a/docs/registry/entities/device.md b/docs/registry/entities/device.md index 45892e7c80..2d1e1a84e1 100644 --- a/docs/registry/entities/device.md +++ b/docs/registry/entities/device.md @@ -20,3 +20,41 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`device.manufacturer`](/docs/registry/attribute/device.md) | string | The name of the device manufacturer [1] | `Apple`; `Samsung` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.model.identifier`](/docs/registry/attribute/device.md) | string | The model identifier for the device [2] | `iPhone3,4`; `SM-G920F` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.model.name`](/docs/registry/attribute/device.md) | string | The marketing name for the device model [3] | `iPhone 6s Plus`; `Samsung Galaxy S6` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.id`](/docs/registry/attribute/device.md) | string | A unique identifier representing the device [4] | `123456789012345`; `01:23:45:67:89:AB` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `device.manufacturer`:** The Android OS provides this field via [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). iOS apps SHOULD hardcode the value `Apple`. + +**[2] `device.model.identifier`:** 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. + +**[3] `device.model.name`:** It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative. + +**[4] `device.id`:** Its value SHOULD be identical for all apps on a device and it SHOULD NOT change if an app is uninstalled and re-installed. +However, it might be resettable by the user for all apps on a device. +Hardware IDs (e.g. vendor-specific serial number, IMEI or MAC address) MAY be used as values. + +More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). + +> [!WARNING] +> +> This attribute may contain sensitive (PII) information. 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. +> +> Due to these reasons, this identifier is not recommended for consumer applications and will likely result in rejection from both Google Play and App Store. +> However, it may be appropriate for specific enterprise scenarios, such as kiosk devices or enterprise-managed devices, with appropriate compliance clearance. +> Any instrumentation providing this identifier MUST implement it as an opt-in feature. +> +> See [`app.installation.id`](/docs/registry/attributes/app.md#app-installation-id) for a more privacy-preserving alternative. + + + + + diff --git a/docs/registry/entities/faas.md b/docs/registry/entities/faas.md index a8de521746..1a9966ce94 100644 --- a/docs/registry/entities/faas.md +++ b/docs/registry/entities/faas.md @@ -20,3 +20,68 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`faas.name`](/docs/registry/attribute/faas.md) | string | The name of the single function that this runtime instance executes. [1] | `my-function`; `myazurefunctionapp/some-function-name` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.resource_id`](/docs/registry/attribute/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [2] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.instance`](/docs/registry/attribute/faas.md) | string | The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. [3] | `2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.max_memory`](/docs/registry/attribute/faas.md) | int | The amount of memory available to the serverless function converted to Bytes. [4] | `134217728` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.version`](/docs/registry/attribute/faas.md) | string | The immutable version of the function being executed. [5] | `26`; `pinkfroid-00002` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `faas.name`:** This is the name of the function as configured/deployed on the FaaS +platform and is usually different from the name of the callback +function (which may be stored in the +[`code.namespace`/`code.function.name`](/docs/general/attributes.md#source-code-attributes) +span attributes). + +For some cloud providers, the above definition is ambiguous. The following +definition of function name MUST be used for this attribute +(and consequently the span name) for the listed cloud providers/products: + +- **Azure:** The full name `/`, i.e., function app name + followed by a forward slash followed by the function name (this form + can also be seen in the resource JSON for the function). + This means that a span attribute MUST be used, as an Azure function + app can host multiple functions that would usually share + a TracerProvider (see also the `cloud.resource_id` attribute). + +**[2] `cloud.resource_id`:** On some cloud providers, it may not be possible to determine the full ID at startup, +so it may be necessary to set `cloud.resource_id` as a span attribute instead. + +The exact value to use for `cloud.resource_id` depends on the cloud provider. +The following well-known definitions MUST be used if you set this attribute and they apply: + +- **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + Take care not to use the "invoked ARN" directly but replace any + [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) + with the resolved function version, as the same runtime instance may be invocable with + multiple different aliases. +- **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) +- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, + *not* the function app, having the form + `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. + This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share + a TracerProvider. + +**[3] `faas.instance`:** - **AWS Lambda:** Use the (full) log stream name. + +**[4] `faas.max_memory`:** It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must be multiplied by 1,048,576). + +**[5] `faas.version`:** Depending on the cloud provider and platform, use: + +- **AWS Lambda:** The [function version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) + (an integer represented as a decimal string). +- **Google Cloud Run (Services):** The [revision](https://cloud.google.com/run/docs/managing/revisions) + (i.e., the function name plus the revision suffix). +- **Google Cloud Functions:** The value of the + [`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). +- **Azure Functions:** Not applicable. Do not set this attribute. + + + + + diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md index 64c781db85..cf59bbe80a 100644 --- a/docs/registry/entities/gcp.md +++ b/docs/registry/entities/gcp.md @@ -20,6 +20,20 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.apphub.application.container`](/docs/registry/attribute/gcp.md) | string | The container within GCP where the AppHub application is defined. | `projects/my-container-project` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.application.id`](/docs/registry/attribute/gcp.md) | string | The name of the application as configured in AppHub. | `my-application` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.application.location`](/docs/registry/attribute/gcp.md) | string | The GCP zone or region where the application is defined. | `us-central1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Gcp Apphub Service **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -32,6 +46,46 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.apphub.service.criticality_type`](/docs/registry/attribute/gcp.md) | string | Criticality of a service indicates its importance to the business. [1] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.service.environment_type`](/docs/registry/attribute/gcp.md) | string | Environment of a service is the stage of a software lifecycle. [2] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.service.id`](/docs/registry/attribute/gcp.md) | string | The name of the service as configured in AppHub. | `my-service` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `gcp.apphub.service.criticality_type`:** [See AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type) + +**[2] `gcp.apphub.service.environment_type`:** [See AppHub environment type](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1) + +--- + +`gcp.apphub.service.criticality_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 | Stability | +|---|---|---| +| `HIGH` | High impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `LOW` | Low impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `MEDIUM` | Medium impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `MISSION_CRITICAL` | Mission critical service. | ![Development](https://img.shields.io/badge/-development-blue) | + +--- + +`gcp.apphub.service.environment_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 | Stability | +|---|---|---| +| `DEVELOPMENT` | Development environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `PRODUCTION` | Production environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Gcp Apphub Workload **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -44,6 +98,46 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.apphub.workload.criticality_type`](/docs/registry/attribute/gcp.md) | string | Criticality of a workload indicates its importance to the business. [3] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.workload.environment_type`](/docs/registry/attribute/gcp.md) | string | Environment of a workload is the stage of a software lifecycle. [4] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.workload.id`](/docs/registry/attribute/gcp.md) | string | The name of the workload as configured in AppHub. | `my-workload` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[3] `gcp.apphub.workload.criticality_type`:** [See AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type) + +**[4] `gcp.apphub.workload.environment_type`:** [See AppHub environment type](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1) + +--- + +`gcp.apphub.workload.criticality_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 | Stability | +|---|---|---| +| `HIGH` | High impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `LOW` | Low impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `MEDIUM` | Medium impact. | ![Development](https://img.shields.io/badge/-development-blue) | +| `MISSION_CRITICAL` | Mission critical service. | ![Development](https://img.shields.io/badge/-development-blue) | + +--- + +`gcp.apphub.workload.environment_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 | Stability | +|---|---|---| +| `DEVELOPMENT` | Development environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `PRODUCTION` | Production environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | +| `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Gcp Cloud Run **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -56,6 +150,19 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.cloud_run.job.execution`](/docs/registry/attribute/gcp.md) | string | The name of the Cloud Run [execution](https://cloud.google.com/run/docs/managing/job-executions) being run for the Job, as set by the [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `job-name-xxxx`; `sample-job-mdw84` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.cloud_run.job.task_index`](/docs/registry/attribute/gcp.md) | int | The index for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `0`; `1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Gcp Gce **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -68,3 +175,16 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gcp.gce.instance.hostname`](/docs/registry/attribute/gcp.md) | string | The hostname of a GCE instance. This is the full value of the default or [custom hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). | `my-host1234.example.com`; `sample-vm.us-west1-b.c.my-project.internal` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.gce.instance.name`](/docs/registry/attribute/gcp.md) | string | The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the [default internal DNS name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). | `instance-1`; `my-vm-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + diff --git a/docs/registry/entities/heroku.md b/docs/registry/entities/heroku.md index bbf218be68..7cf38be7b0 100644 --- a/docs/registry/entities/heroku.md +++ b/docs/registry/entities/heroku.md @@ -20,3 +20,17 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`heroku.app.id`](/docs/registry/attribute/heroku.md) | string | Unique identifier for the application | `2daa2797-e42b-4624-9322-ec3f968df4da` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`heroku.release.commit`](/docs/registry/attribute/heroku.md) | string | Commit hash for the current release | `e6134959463efd8966b20e75b913cafe3f5ec` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`heroku.release.creation_timestamp`](/docs/registry/attribute/heroku.md) | string | Time and date the release was created | `2022-10-23T18:00:42Z` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index 36408da106..c262fe7aff 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -20,6 +20,71 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`host.arch`](/docs/registry/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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 + +**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](https://www.rfc-editor.org/rfc/rfc5952.html) format. + +**[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) | + + + + + ## Host Cpu **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -32,3 +97,22 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`host.cpu.cache.l2.size`](/docs/registry/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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. + + + + + diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index 18d6abe451..f25403da1f 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -54,6 +54,7 @@ conflict. + ## K8s Container **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -78,6 +79,7 @@ conflict. + ## K8s Cronjob **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -117,6 +119,7 @@ conflict. + ## K8s Daemonset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -146,6 +149,7 @@ conflict. + ## K8s Deployment **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -175,6 +179,7 @@ conflict. + ## K8s Hpa **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -198,6 +203,7 @@ conflict. + ## K8s Job **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -227,6 +233,7 @@ conflict. + ## K8s Namespace **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -255,6 +262,7 @@ conflict. + ## K8s Node **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -294,6 +302,7 @@ conflict. + ## K8s Pod **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -337,6 +346,7 @@ conflict. + ## K8s Replicaset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -366,6 +376,7 @@ conflict. + ## K8s Replicationcontroller **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -389,6 +400,7 @@ conflict. + ## K8s Resourcequota **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -412,6 +424,7 @@ conflict. + ## K8s Statefulset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -441,3 +454,4 @@ conflict. + diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md index 3ccd2663b8..c27d7a323d 100644 --- a/docs/registry/entities/os.md +++ b/docs/registry/entities/os.md @@ -20,3 +20,45 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`os.type`](/docs/registry/attribute/os.md) | string | The operating system type. | `windows`; `linux`; `darwin` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.build_id`](/docs/registry/attribute/os.md) | string | Unique identifier for a particular build or compilation of the operating system. [1] | `TQ3C.230805.001.B2`; `20E247`; `22621` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.description`](/docs/registry/attribute/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.name`](/docs/registry/attribute/os.md) | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.version`](/docs/registry/attribute/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `os.build_id`:** `build_id` values SHOULD be obtained from the following sources: + +| OS | Primary | Fallback | +| ------- | ------- | ------- | +| Windows | `CurrentBuildNumber` from registry `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion` | - | +| MacOS | `ProductBuildVersion` from `/System/Library/CoreServices/SystemVersion.plist` | `ProductBuildVersion` from `/System/Library/CoreServices/ServerVersion.plist` | +| Linux | `BUILD_ID` from `/etc/os-release` | `BUILD_ID` from `/usr/lib/os-release`;
contents of `/proc/sys/kernel/osrelease`| + +--- + +`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 | Stability | +|---|---|---| +| `aix` | AIX (Advanced Interactive eXecutive) | ![Development](https://img.shields.io/badge/-development-blue) | +| `darwin` | Apple Darwin | ![Development](https://img.shields.io/badge/-development-blue) | +| `dragonflybsd` | DragonFly BSD | ![Development](https://img.shields.io/badge/-development-blue) | +| `freebsd` | FreeBSD | ![Development](https://img.shields.io/badge/-development-blue) | +| `hpux` | HP-UX (Hewlett Packard Unix) | ![Development](https://img.shields.io/badge/-development-blue) | +| `linux` | Linux | ![Development](https://img.shields.io/badge/-development-blue) | +| `netbsd` | NetBSD | ![Development](https://img.shields.io/badge/-development-blue) | +| `openbsd` | OpenBSD | ![Development](https://img.shields.io/badge/-development-blue) | +| `solaris` | SunOS, Oracle Solaris | ![Development](https://img.shields.io/badge/-development-blue) | +| `windows` | Microsoft Windows | ![Development](https://img.shields.io/badge/-development-blue) | +| `z_os` | IBM z/OS | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index 9fe9597548..e63ee08ace 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -19,3 +19,16 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`otel.scope.name`](/docs/registry/attribute/otel.md) | string | The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). | `io.opentelemetry.contrib.mongodb` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`otel.scope.version`](/docs/registry/attribute/otel.md) | string | The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). | `1.0.0` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + + + + diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md index d6ca37c657..30e2a66486 100644 --- a/docs/registry/entities/process.md +++ b/docs/registry/entities/process.md @@ -20,6 +20,38 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`process.command`](/docs/registry/attribute/process.md) | 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` | `Conditionally Required` [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.command_args`](/docs/registry/attribute/process.md) | 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`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `["cmd/otecol", "--config=config.yaml"]` | `Conditionally Required` [2] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.command_line`](/docs/registry/attribute/process.md) | 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. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `C:\cmd\otecol --config="my directory\config.yaml"` | `Conditionally Required` [3] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.executable.name`](/docs/registry/attribute/process.md) | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | `Conditionally Required` [4] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.executable.path`](/docs/registry/attribute/process.md) | 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` | `Conditionally Required` [5] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.linux.cgroup`](/docs/registry/attribute/process.md) | string | The control group associated with the process. [6] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.owner`](/docs/registry/attribute/process.md) | string | The username of the user that owns the process. | `root` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.parent_pid`](/docs/registry/attribute/process.md) | int | Parent Process identifier (PPID). | `111` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.pid`](/docs/registry/attribute/process.md) | int | Process identifier (PID). | `1234` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `process.command`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[2] `process.command_args`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[3] `process.command_line`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[4] `process.executable.name`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[5] `process.executable.path`:** See [Selecting process attributes](#selecting-process-attributes) for details. + +**[6] `process.linux.cgroup`:** Control groups (cgroups) are a kernel feature used to organize and manage process resources. This attribute provides the path(s) to the cgroup(s) associated with the process, which should match the contents of the [/proc/\[PID\]/cgroup](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. + + + + + ## Process Runtime **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -32,3 +64,17 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`process.runtime.description`](/docs/registry/attribute/process.md) | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.runtime.name`](/docs/registry/attribute/process.md) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.runtime.version`](/docs/registry/attribute/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + diff --git a/docs/registry/entities/service.md b/docs/registry/entities/service.md index ff319d3452..a1b860bd33 100644 --- a/docs/registry/entities/service.md +++ b/docs/registry/entities/service.md @@ -64,3 +64,4 @@ port. + diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index 6b6824c086..834792cffe 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -20,6 +20,22 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`telemetry.distro.name`](/docs/registry/attribute/telemetry.md) | string | The name of the auto instrumentation agent or distribution, if used. [1] | `parts-unlimited-java` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`telemetry.distro.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the auto instrumentation agent or distribution, if used. | `1.2.3` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `telemetry.distro.name`:** Official auto instrumentation agents and distributions SHOULD set the `telemetry.distro.name` attribute to +a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. + + + + + ## Telemetry Sdk **Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) @@ -32,3 +48,43 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`telemetry.sdk.language`](/docs/registry/attribute/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.name`](/docs/registry/attribute/telemetry.md) | string | The name of the telemetry SDK as defined above. [2] | `opentelemetry` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + +**[2] `telemetry.sdk.name`:** The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. +If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the +`telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point +or another suitable identifier depending on the language. +The identifier `opentelemetry` is reserved and MUST NOT be used in this case. +All custom identifiers SHOULD be stable across different versions of an implementation. + +--- + +`telemetry.sdk.language` 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 | +|---|---|---| +| `cpp` | cpp | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `dotnet` | dotnet | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `erlang` | erlang | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `go` | go | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `java` | java | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `nodejs` | nodejs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `php` | php | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `python` | python | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `ruby` | ruby | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `rust` | rust | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `swift` | swift | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `webjs` | webjs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + + + + diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index 69b173e8ec..e7945877d8 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -20,6 +20,44 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`vcs.ref.head.name`](/docs/registry/attribute/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.ref.head.revision`](/docs/registry/attribute/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [2] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.ref.type`](/docs/registry/attribute/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a +given time. + +**[2] `vcs.ref.head.revision`:** `head` refers to where you are right now; the current reference at a +given time.The revision can be a full [hash value (see +glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), +of the recorded change to a ref within a repository pointing to a +commit [commit](https://git-scm.com/docs/git-commit) object. It does +not necessarily have to be a hash; it can simply define a [revision +number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html) +which is an integer that is monotonically increasing. In cases where +it is identical to the `ref.head.name`, it SHOULD still be included. +It is up to the implementer to decide which value to set as the +revision based on the VCS system and situational context. + +--- + +`vcs.ref.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 | Stability | +|---|---|---| +| `branch` | [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch) | ![Development](https://img.shields.io/badge/-development-blue) | +| `tag` | [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag) | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + ## Vcs Repo **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -32,3 +70,23 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`vcs.repository.name`](/docs/registry/attribute/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [3] | `semantic-conventions`; `my-cool-repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.repository.url.full`](/docs/registry/attribute/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [4] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + +**[3] `vcs.repository.name`:** Due to it only being the name, it can clash with forks of the same +repository if collecting telemetry across multiple orgs or groups in +the same backends. + +**[4] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include +the `.git` extension. + + + + + diff --git a/docs/registry/entities/webengine.md b/docs/registry/entities/webengine.md index 411bc58134..3a4867289c 100644 --- a/docs/registry/entities/webengine.md +++ b/docs/registry/entities/webengine.md @@ -20,3 +20,17 @@ **Identifying Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`webengine.name`](/docs/registry/attribute/webengine.md) | string | The name of the web engine. | `WildFly` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`webengine.description`](/docs/registry/attribute/webengine.md) | string | Additional description of the web engine (e.g. detailed version and edition information). | `WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`webengine.version`](/docs/registry/attribute/webengine.md) | string | The version of the web engine. | `21.0.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index b01563b034..99a43a4359 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -11,6 +11,7 @@ {% for e in ctx.groups | sort(attribute='name') %} {%- set id_attrs = e.attributes | selectattr("role", "equalto", "identifying") -%} {%- set desc_attrs = e.attributes | selectattr("role", "equalto", "descriptive") -%} +{%- set misc_attrs = e.attributes | rejectattr("role", "defined") -%} ## {{ e.name | title_case }} **Status:** {{ stability.badge(e.stability, e.deprecated) }} @@ -28,4 +29,14 @@ {{ at.generate(desc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) }} {% endif %} +{%- if misc_attrs | length > 0 %} + +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +{{ at.generate(misc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) }} +{% endif %} + + {% endfor %} \ No newline at end of file From 4903392f50bbbf3ef06861191ff9fe2886bfe4fd Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 11:01:29 -0400 Subject: [PATCH 06/28] Add policies to verify entity attributes have roles. --- policies/entity_stability.rego | 48 ++++++++++++++++++++++++ policies_test/entity_stability_test.rego | 48 ++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 policies/entity_stability.rego create mode 100644 policies_test/entity_stability_test.rego diff --git a/policies/entity_stability.rego b/policies/entity_stability.rego new file mode 100644 index 0000000000..b26e2a6509 --- /dev/null +++ b/policies/entity_stability.rego @@ -0,0 +1,48 @@ +package after_resolution +import rego.v1 + +# checks for stable entity groups that have no identifying attributes +deny contains entity_stability_violation(description, group.id, "") if { + group := input.groups[_] + # ignore attribute_groups + group.type == "entity" + group.stability == "stable" + + exceptions = {} + not exceptions[group.id] + + ids := [attr | + some attr in group.attributes + attr.role == "identifying" + ] + count(ids) < 1 + + description := sprintf("Stable entity '%s' has no identifying attributes", [group.name]) +} + + +# checks for stable entity groups that have attributes with no role +deny contains entity_stability_violation(description, group.id, attr.name) if { + group := input.groups[_] + # ignore attribute_groups + group.type == "entity" + group.stability == "stable" + + exceptions = {} + not exceptions[group.id] + + attr := group.attributes[_] + not attr.role + + description := sprintf("Stable entity '%s' has attribute without role: '%s'", [group.name, attr.name]) +} + +entity_stability_violation(description, group, attr) = violation if { + violation := { + "id": description, + "type": "semconv_attribute", + "category": "group_stability_violation", + "attr": attr, + "group": group, + } +} \ No newline at end of file diff --git a/policies_test/entity_stability_test.rego b/policies_test/entity_stability_test.rego new file mode 100644 index 0000000000..6232043cee --- /dev/null +++ b/policies_test/entity_stability_test.rego @@ -0,0 +1,48 @@ +package after_resolution +import future.keywords + +test_fails_on_stable_entity_with_attributes_having_no_role if { + count(deny) >= 1 with input as {"groups": [{ + "id": "entity.foo", + "type": "entity", + "name": "foo", + "stability": "stable", + "attributes": [{ + "name": "test.experimental", + "stability": "stable", + }, { + "name": "test.id", + "stability": "stable", + "role": "identifying", + }]}]} +} + +test_fails_on_stable_entity_with_attributes_having_no_id if { + count(deny) >= 1 with input as {"groups": [{ + "id": "entity.foo", + "type": "entity", + "name": "foo", + "stability": "stable", + "attributes": [{ + "name": "test.experimental", + "stability": "stable", + "role": "descriptive", + }]}]} +} + +test_passes_on_stable_entity_with_id if { + count(deny) == 0 with input as {"groups": [{ + "id": "entity.foo", + "type": "entity", + "name": "foo", + "stability": "stable", + "attributes": [{ + "name": "test.experimental", + "stability": "stable", + "role": "descriptive", + },{ + "name": "test.id", + "stability": "stable", + "role": "identifying", + }]}]} +} \ No newline at end of file From 300f4a7b5c3a0d35688fa76ac926a394211ad7e4 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 13:15:06 -0400 Subject: [PATCH 07/28] Revert k8s changes for SIG to make them. --- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 2 +- docs/registry/entities/k8s.md | 130 +++++++++++++++++-------------- model/k8s/entities.yaml | 46 ----------- 4 files changed, 74 insertions(+), 106 deletions(-) diff --git a/docs/registry/README.md b/docs/registry/README.md index ade021a9c6..31b1e729ed 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) \ No newline at end of file +- [Entities](entities/README.md) diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index 6ad8c3566a..518f3dbada 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -275,4 +275,4 @@ Currently, the following namespaces exist: Development - \ No newline at end of file + diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index f25403da1f..125b7929b4 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -18,8 +18,15 @@ **Identifying Attributes:** + + +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| +| [`k8s.cluster.name`](/docs/registry/attribute/k8s.md) | string | The name of the cluster. | `opentelemetry-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.cluster.uid`](/docs/registry/attribute/k8s.md) | string | A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `k8s.cluster.uid`:** K8s doesn't have support for obtaining a cluster ID. If this is ever @@ -46,12 +53,6 @@ Therefore, UIDs between clusters should be extremely unlikely to conflict. -**Descriptive Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.cluster.name`](/docs/registry/attribute/k8s.md) | string | The name of the cluster. | `opentelemetry-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - @@ -65,14 +66,15 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.container.name`](/docs/registry/attribute/k8s.md) | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| +| [`k8s.container.name`](/docs/registry/attribute/k8s.md) | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.container.restart_count`](/docs/registry/attribute/k8s.md) | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.container.status.last_terminated_reason`](/docs/registry/attribute/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -90,15 +92,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.cronjob.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.cronjob.name`](/docs/registry/attribute/k8s.md) | string | The name of the CronJob. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.cronjob.annotation.`](/docs/registry/attribute/k8s.md) | string | The cronjob annotation placed on the CronJob, the `` being the annotation name, the value being the annotation value. [2] | `4`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.cronjob.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the CronJob, the `` being the label name, the value being the label value. [3] | `weekly`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -130,15 +133,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.daemonset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.daemonset.name`](/docs/registry/attribute/k8s.md) | string | The name of the DaemonSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.daemonset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the DaemonSet. [4] | `k8s.daemonset.annotation.replicas=1`; `k8s.daemonset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.daemonset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the DaemonSet. [5] | `k8s.daemonset.label.app=guestbook`; `k8s.daemonset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -160,15 +164,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.deployment.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.deployment.name`](/docs/registry/attribute/k8s.md) | string | The name of the Deployment. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.deployment.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Deployment. [6] | `k8s.deployment.annotation.replicas=1`; `k8s.deployment.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.deployment.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Deployment. [7] | `k8s.deployment.label.app=guestbook`; `k8s.deployment.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -190,15 +195,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.hpa.name`](/docs/registry/attribute/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -214,15 +220,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.job.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.job.name`](/docs/registry/attribute/k8s.md) | string | The name of the Job. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.job.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Job. [8] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.job.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Job. [9] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -244,14 +251,15 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.namespace.name`](/docs/registry/attribute/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| +| [`k8s.namespace.name`](/docs/registry/attribute/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.namespace.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [10] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.namespace.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Namespace. [11] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -273,15 +281,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.node.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.node.name`](/docs/registry/attribute/k8s.md) | string | The name of the Node. | `node-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.node.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [12] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.node.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [13] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -313,15 +322,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.pod.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.pod.name`](/docs/registry/attribute/k8s.md) | string | The name of the Pod. | `opentelemetry-pod-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.pod.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [14] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.pod.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [15] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -357,15 +367,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.replicaset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.replicaset.name`](/docs/registry/attribute/k8s.md) | string | The name of the ReplicaSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.replicaset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [16] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.replicaset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [17] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -387,15 +398,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.replicationcontroller.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the replication controller. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.replicationcontroller.name`](/docs/registry/attribute/k8s.md) | string | The name of the replication controller. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicationcontroller.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the replication controller. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -411,15 +423,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.resourcequota.name`](/docs/registry/attribute/k8s.md) | string | The name of the resource quota. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -435,15 +448,16 @@ conflict. **Identifying Attributes:** -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`k8s.statefulset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**Descriptive Attributes:** +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.statefulset.name`](/docs/registry/attribute/k8s.md) | string | The name of the StatefulSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.statefulset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [18] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.statefulset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [19] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/model/k8s/entities.yaml b/model/k8s/entities.yaml index 81c5efe8d5..de3cefcc24 100644 --- a/model/k8s/entities.yaml +++ b/model/k8s/entities.yaml @@ -7,9 +7,7 @@ groups: A Kubernetes Cluster. attributes: - ref: k8s.cluster.name - role: descriptive - ref: k8s.cluster.uid - role: identifying - id: entity.k8s.node type: entity @@ -19,15 +17,11 @@ groups: A Kubernetes Node object. attributes: - ref: k8s.node.name - role: descriptive - ref: k8s.node.uid - role: identifying - ref: k8s.node.label requirement_level: opt_in - role: descriptive - ref: k8s.node.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.namespace type: entity @@ -37,13 +31,10 @@ groups: A Kubernetes Namespace. attributes: - ref: k8s.namespace.name - role: identifying - ref: k8s.namespace.label requirement_level: opt_in - role: descriptive - ref: k8s.namespace.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.pod type: entity @@ -53,15 +44,11 @@ groups: A Kubernetes Pod object. attributes: - ref: k8s.pod.uid - role: identifying - ref: k8s.pod.name - role: descriptive - ref: k8s.pod.label requirement_level: opt_in - role: descriptive - ref: k8s.pod.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.container type: entity @@ -71,11 +58,8 @@ groups: A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). attributes: - ref: k8s.container.name - role: identifying - ref: k8s.container.restart_count - role: descriptive - ref: k8s.container.status.last_terminated_reason - role: descriptive - id: entity.k8s.replicaset type: entity @@ -85,15 +69,11 @@ groups: A Kubernetes ReplicaSet object. attributes: - ref: k8s.replicaset.uid - role: identifying - ref: k8s.replicaset.name - role: descriptive - ref: k8s.replicaset.label requirement_level: opt_in - role: descriptive - ref: k8s.replicaset.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.deployment type: entity @@ -103,15 +83,11 @@ groups: A Kubernetes Deployment object. attributes: - ref: k8s.deployment.uid - role: identifying - ref: k8s.deployment.name - role: descriptive - ref: k8s.deployment.label requirement_level: opt_in - role: descriptive - ref: k8s.deployment.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.statefulset type: entity @@ -121,15 +97,11 @@ groups: A Kubernetes StatefulSet object. attributes: - ref: k8s.statefulset.uid - role: identifying - ref: k8s.statefulset.name - role: descriptive - ref: k8s.statefulset.label requirement_level: opt_in - role: descriptive - ref: k8s.statefulset.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.daemonset type: entity @@ -139,15 +111,11 @@ groups: A Kubernetes DaemonSet object. attributes: - ref: k8s.daemonset.uid - role: identifying - ref: k8s.daemonset.name - role: descriptive - ref: k8s.daemonset.label requirement_level: opt_in - role: descriptive - ref: k8s.daemonset.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.job type: entity @@ -157,15 +125,11 @@ groups: A Kubernetes Job object. attributes: - ref: k8s.job.uid - role: identifying - ref: k8s.job.name - role: descriptive - ref: k8s.job.label requirement_level: opt_in - role: descriptive - ref: k8s.job.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.cronjob type: entity @@ -175,15 +139,11 @@ groups: A Kubernetes CronJob object. attributes: - ref: k8s.cronjob.uid - role: identifying - ref: k8s.cronjob.name - role: descriptive - ref: k8s.cronjob.label requirement_level: opt_in - role: descriptive - ref: k8s.cronjob.annotation requirement_level: opt_in - role: descriptive - id: entity.k8s.replicationcontroller type: entity @@ -193,9 +153,7 @@ groups: A Kubernetes ReplicationController object. attributes: - ref: k8s.replicationcontroller.uid - role: identifying - ref: k8s.replicationcontroller.name - role: descriptive - id: entity.k8s.hpa type: entity @@ -205,9 +163,7 @@ groups: A Kubernetes HorizontalPodAutoscaler object. attributes: - ref: k8s.hpa.uid - role: identifying - ref: k8s.hpa.name - role: descriptive - id: entity.k8s.resourcequota type: entity @@ -217,6 +173,4 @@ groups: A Kubernetes ResourceQuota object. attributes: - ref: k8s.resourcequota.uid - role: identifying - ref: k8s.resourcequota.name - role: descriptive From 9b30b107f81e1407c37f581f96fcf4fa2ab388ba Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 13:55:59 -0400 Subject: [PATCH 08/28] Fix roles for stable entity. --- model/telemetry/entities.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/model/telemetry/entities.yaml b/model/telemetry/entities.yaml index 15ce890c95..1d4e715584 100644 --- a/model/telemetry/entities.yaml +++ b/model/telemetry/entities.yaml @@ -8,10 +8,13 @@ groups: attributes: - ref: telemetry.sdk.name requirement_level: required + role: identifying - ref: telemetry.sdk.language requirement_level: required + role: descriptive - ref: telemetry.sdk.version requirement_level: required + role: descriptive - id: entity.telemetry.distro name: 'telemetry.distro' type: entity From ea59c7dcaff9c3747c2b2bbbd0bc18c60910322f Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 13:59:09 -0400 Subject: [PATCH 09/28] update tables. --- docs/registry/entities/telemetry.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index 834792cffe..e35efab176 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -46,17 +46,9 @@ a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentatio **Identifying Attributes:** - - -**Other Attributes:** - -_Note: Stable Entities MUST have attributes with a defined role._ - | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`telemetry.sdk.language`](/docs/registry/attribute/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`telemetry.sdk.name`](/docs/registry/attribute/telemetry.md) | string | The name of the telemetry SDK as defined above. [2] | `opentelemetry` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`telemetry.sdk.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | **[2] `telemetry.sdk.name`:** The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the @@ -65,6 +57,13 @@ or another suitable identifier depending on the language. The identifier `opentelemetry` is reserved and MUST NOT be used in this case. All custom identifiers SHOULD be stable across different versions of an implementation. + +**Descriptive Attributes:** +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`telemetry.sdk.language`](/docs/registry/attribute/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + --- `telemetry.sdk.language` 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. From fb9049d4f0175959eb860644a58f63def86dc69e Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 14:48:27 -0400 Subject: [PATCH 10/28] add changelog. --- .chloggen/wip-entity-registry.yaml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 .chloggen/wip-entity-registry.yaml diff --git a/.chloggen/wip-entity-registry.yaml b/.chloggen/wip-entity-registry.yaml new file mode 100755 index 0000000000..aff984d3a3 --- /dev/null +++ b/.chloggen/wip-entity-registry.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: enhancement + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: service + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Adds support for Entity registry and Entity stabilization policies. + +# 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: [2246] + +# (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: From cbd1dbcd30055629d74cd86c74d4757e1a166e4b Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:06:55 -0400 Subject: [PATCH 11/28] Fix markdown lint issues. --- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 8 +- docs/registry/entities/android.md | 14 -- docs/registry/entities/app.md | 14 -- docs/registry/entities/aws.md | 32 ----- docs/registry/entities/browser.md | 14 -- docs/registry/entities/cicd.md | 32 ----- docs/registry/entities/cloud.md | 14 -- docs/registry/entities/cloudfoundry.md | 50 ------- docs/registry/entities/container.md | 14 -- docs/registry/entities/deployment.md | 14 -- docs/registry/entities/device.md | 14 -- docs/registry/entities/faas.md | 14 -- docs/registry/entities/gcp.md | 50 ------- docs/registry/entities/heroku.md | 14 -- docs/registry/entities/host.md | 23 --- docs/registry/entities/k8s.md | 131 ------------------ docs/registry/entities/os.md | 17 +-- docs/registry/entities/otel.md | 13 -- docs/registry/entities/process.md | 23 --- docs/registry/entities/service.md | 12 -- docs/registry/entities/telemetry.md | 21 --- docs/registry/entities/vcs.md | 23 --- docs/registry/entities/webengine.md | 14 -- docs/registry/entities/zos.md | 22 +++ .../registry/markdown/entity_namespace.md.j2 | 24 ++-- 26 files changed, 41 insertions(+), 582 deletions(-) create mode 100644 docs/registry/entities/zos.md diff --git a/docs/registry/README.md b/docs/registry/README.md index 31b1e729ed..ade021a9c6 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) +- [Entities](entities/README.md) \ No newline at end of file diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index 518f3dbada..a38318e40e 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -273,6 +273,12 @@ Currently, the following namespaces exist: webengine Development + +zOS + + + zos.software + Development - + \ No newline at end of file diff --git a/docs/registry/entities/android.md b/docs/registry/entities/android.md index 1c6a825d98..b46fa658a8 100644 --- a/docs/registry/entities/android.md +++ b/docs/registry/entities/android.md @@ -1,13 +1,8 @@ - - - # Android - - ## Android **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `android` **Description:** The Android platform on which the Android application is running. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -28,7 +18,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`android.os.api_level`](/docs/registry/attribute/android.md) | string | Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). | `33`; `32` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - diff --git a/docs/registry/entities/app.md b/docs/registry/entities/app.md index 190eff7eec..2e70beaa31 100644 --- a/docs/registry/entities/app.md +++ b/docs/registry/entities/app.md @@ -1,13 +1,8 @@ - - - # App - - ## App **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `app` **Description:** An app used directly by end users — like mobile, web, or desktop. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -46,7 +36,3 @@ For Android, examples of `app.installation.id` implementations include: More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). - - - - diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index d8e91afd58..f135425332 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -1,13 +1,8 @@ - - - # Aws - - ## Aws Ecs **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `aws.ecs` **Description:** Entities used by AWS Elastic Container Service (ECS). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -43,10 +33,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `ec2` | ec2 | ![Development](https://img.shields.io/badge/-development-blue) | | `fargate` | fargate | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Aws Eks **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -54,11 +40,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `aws.eks` **Description:** Entities used by AWS Elastic Kubernetes Service (EKS). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -67,10 +48,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`aws.eks.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an EKS cluster. | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Aws Log **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -78,11 +55,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `aws.log` **Description:** Entities specific to Amazon Web Services. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -100,7 +72,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[3] `aws.log.stream.arns`:** See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. - - - - diff --git a/docs/registry/entities/browser.md b/docs/registry/entities/browser.md index 71b942a0f0..a42168b76c 100644 --- a/docs/registry/entities/browser.md +++ b/docs/registry/entities/browser.md @@ -1,13 +1,8 @@ - - - # Browser - - ## Browser **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `browser` **Description:** The web browser in which the application represented by the resource is running. The `browser.*` attributes MUST be used only for resources that represent applications running in a web browser (regardless of whether running on a mobile or desktop device). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -43,7 +33,3 @@ The list of possible values is defined in the [W3C User-Agent Client Hints speci **[5] `user_agent.original`:** The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy `navigator.userAgent` API can be used. - - - - diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md index 1d916120cb..718507aef7 100644 --- a/docs/registry/entities/cicd.md +++ b/docs/registry/entities/cicd.md @@ -1,13 +1,8 @@ - - - # Cicd - - ## Cicd Pipeline **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `cicd.pipeline` **Description:** A pipeline is a series of automated steps that helps software teams deliver code. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -28,10 +18,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`cicd.pipeline.name`](/docs/registry/attribute/cicd.md) | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Cicd Pipeline Run **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -39,11 +25,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `cicd.pipeline.run` **Description:** A pipeline run is a singular execution of a given pipeline's tasks. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -53,10 +34,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`cicd.pipeline.run.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`cicd.pipeline.run.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the pipeline run, providing the complete address in order to locate and identify the pipeline run. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Cicd Worker **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -64,11 +41,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `cicd.worker` **Description:** A CICD worker is a component of the CICD system that performs work (eg. running pipeline tasks or performing sync). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -79,7 +51,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`cicd.worker.name`](/docs/registry/attribute/cicd.md) | string | The name of a worker within a CICD system. | `agent-abc`; `controller`; `Ubuntu LTS` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`cicd.worker.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker. | `https://cicd.example.org/worker/abc123` | `Recommended` If available | ![Development](https://img.shields.io/badge/-development-blue) | - - - - diff --git a/docs/registry/entities/cloud.md b/docs/registry/entities/cloud.md index 9b90f742ed..f7d9aabefe 100644 --- a/docs/registry/entities/cloud.md +++ b/docs/registry/entities/cloud.md @@ -1,13 +1,8 @@ - - - # Cloud - - ## Cloud **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `cloud` **Description:** A cloud environment (e.g. GCP, Azure, AWS) - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -109,7 +99,3 @@ The following well-known definitions MUST be used if you set this attribute and | `oracle_cloud` | Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | | `tencent_cloud` | Tencent Cloud | ![Development](https://img.shields.io/badge/-development-blue) | - - - - diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index d4e398761b..e74933f3bf 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -1,13 +1,8 @@ - - - # Cloudfoundry - - ## Cloudfoundry App **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `cloudfoundry.app` **Description:** The application which is monitored. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -37,10 +27,6 @@ reported by `cf app --guid`. variable `VCAP_APPLICATION.application_name`. This is the same value as reported by `cf apps`. - - - - ## Cloudfoundry Org **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -48,11 +34,6 @@ as reported by `cf apps`. **type:** `cloudfoundry.org` **Description:** The organization of the application which is monitored. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -70,10 +51,6 @@ reported by `cf org --guid`. variable `VCAP_APPLICATION.org_name`. This is the same value as reported by `cf orgs`. - - - - ## Cloudfoundry Process **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -81,11 +58,6 @@ reported by `cf orgs`. **type:** `cloudfoundry.process` **Description:** The process of the application which is monitored. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -104,10 +76,6 @@ For system components, this could be the actual PID. main process will be of type `web`. There can be additional background tasks or side-cars with different process types. - - - - ## Cloudfoundry Space **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -115,11 +83,6 @@ tasks or side-cars with different process types. **type:** `cloudfoundry.space` **Description:** The space of the application which is monitored. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -137,10 +100,6 @@ reported by `cf space --guid`. variable `VCAP_APPLICATION.space_name`. This is the same value as reported by `cf spaces`. - - - - ## Cloudfoundry System **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -148,11 +107,6 @@ reported by `cf spaces`. **type:** `cloudfoundry.system` **Description:** The system component which is monitored. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -180,7 +134,3 @@ When system components are instrumented, values from the [Bosh spec](https://bosh.io/docs/jobs/#properties-spec) should be used. The `system.instance.id` should be set to `spec.id`. - - - - diff --git a/docs/registry/entities/container.md b/docs/registry/entities/container.md index 74e1b8b461..335559555a 100644 --- a/docs/registry/entities/container.md +++ b/docs/registry/entities/container.md @@ -1,13 +1,8 @@ - - - # Container - - ## Container **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `container` **Description:** A container instance. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -52,7 +42,3 @@ An example can be found in [Example Image Manifest](https://github.com/openconta **[5] `container.command`:** If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. - - - - diff --git a/docs/registry/entities/deployment.md b/docs/registry/entities/deployment.md index 3db22c7db7..737e4615b0 100644 --- a/docs/registry/entities/deployment.md +++ b/docs/registry/entities/deployment.md @@ -1,13 +1,8 @@ - - - # Deployment - - ## Deployment **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `deployment` **Description:** The software deployment. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -36,7 +26,3 @@ considered to be identifying the same service: - `service.name=frontend`, `deployment.environment.name=production` - `service.name=frontend`, `deployment.environment.name=staging`. - - - - diff --git a/docs/registry/entities/device.md b/docs/registry/entities/device.md index 2d1e1a84e1..359e5d2e5b 100644 --- a/docs/registry/entities/device.md +++ b/docs/registry/entities/device.md @@ -1,13 +1,8 @@ - - - # Device - - ## Device **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `device` **Description:** The device on which the process represented by this resource is running. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -54,7 +44,3 @@ More information about Android identifier best practices can be found [here](htt > > See [`app.installation.id`](/docs/registry/attributes/app.md#app-installation-id) for a more privacy-preserving alternative. - - - - diff --git a/docs/registry/entities/faas.md b/docs/registry/entities/faas.md index 1a9966ce94..fb67d8c5fd 100644 --- a/docs/registry/entities/faas.md +++ b/docs/registry/entities/faas.md @@ -1,13 +1,8 @@ - - - # Faas - - ## Faas **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `faas` **Description:** A serverless instance. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -81,7 +71,3 @@ The following well-known definitions MUST be used if you set this attribute and [`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). - **Azure Functions:** Not applicable. Do not set this attribute. - - - - diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md index cf59bbe80a..9ff5389e84 100644 --- a/docs/registry/entities/gcp.md +++ b/docs/registry/entities/gcp.md @@ -1,13 +1,8 @@ - - - # Gcp - - ## Gcp Apphub Application **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `gcp.apphub.application` **Description:** Attributes denoting data from an Application in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -30,10 +20,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`gcp.apphub.application.id`](/docs/registry/attribute/gcp.md) | string | The name of the application as configured in AppHub. | `my-application` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gcp.apphub.application.location`](/docs/registry/attribute/gcp.md) | string | The GCP zone or region where the application is defined. | `us-central1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Gcp Apphub Service **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -41,11 +27,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `gcp.apphub.service` **Description:** Attributes denoting data from a Service in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -82,10 +63,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | | `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Gcp Apphub Workload **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -93,11 +70,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `gcp.apphub.workload` **Description:** Attributes denoting data from a Workload in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -134,10 +106,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | | `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Gcp Cloud Run **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -145,11 +113,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `gcp.cloud_run` **Description:** Resource used by Google Cloud Run. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -159,10 +122,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`gcp.cloud_run.job.execution`](/docs/registry/attribute/gcp.md) | string | The name of the Cloud Run [execution](https://cloud.google.com/run/docs/managing/job-executions) being run for the Job, as set by the [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `job-name-xxxx`; `sample-job-mdw84` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gcp.cloud_run.job.task_index`](/docs/registry/attribute/gcp.md) | int | The index for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `0`; `1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Gcp Gce **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -170,11 +129,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `gcp.gce` **Description:** Resources used by Google Compute Engine (GCE). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -184,7 +138,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`gcp.gce.instance.hostname`](/docs/registry/attribute/gcp.md) | string | The hostname of a GCE instance. This is the full value of the default or [custom hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). | `my-host1234.example.com`; `sample-vm.us-west1-b.c.my-project.internal` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gcp.gce.instance.name`](/docs/registry/attribute/gcp.md) | string | The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the [default internal DNS name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). | `instance-1`; `my-vm-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - diff --git a/docs/registry/entities/heroku.md b/docs/registry/entities/heroku.md index 7cf38be7b0..4731a8849d 100644 --- a/docs/registry/entities/heroku.md +++ b/docs/registry/entities/heroku.md @@ -1,13 +1,8 @@ - - - # Heroku - - ## Heroku **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `heroku` **Description:** [Heroku dyno metadata](https://devcenter.heroku.com/articles/dyno-metadata) - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -30,7 +20,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`heroku.release.commit`](/docs/registry/attribute/heroku.md) | string | Commit hash for the current release | `e6134959463efd8966b20e75b913cafe3f5ec` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`heroku.release.creation_timestamp`](/docs/registry/attribute/heroku.md) | string | Time and date the release was created | `2022-10-23T18:00:42Z` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index c262fe7aff..850c443928 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -1,13 +1,8 @@ - - - # Host - - ## Host **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `host` **Description:** A host is defined as a computing instance. For example, physical servers, virtual machines, switches or disk array. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -81,10 +71,6 @@ 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 **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -92,11 +78,6 @@ privileged lookup of `host.id` is required, the value should be injected via the **type:** `host.cpu` **Description:** A host's CPU information - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -112,7 +93,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[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. - - - - diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index 125b7929b4..34b1c3c647 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -1,13 +1,8 @@ - - - # K8s - - ## K8s Cluster **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `k8s.cluster` **Description:** A Kubernetes Cluster. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -52,10 +42,6 @@ Which states: Therefore, UIDs between clusters should be extremely unlikely to conflict. - - - - ## K8s Container **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -63,11 +49,6 @@ conflict. **type:** `k8s.container` **Description:** A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -78,10 +59,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`k8s.container.restart_count`](/docs/registry/attribute/k8s.md) | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.container.status.last_terminated_reason`](/docs/registry/attribute/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## K8s Cronjob **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -89,11 +66,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.cronjob` **Description:** A Kubernetes CronJob object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -119,10 +91,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ - A label `automated` with empty string value SHOULD be recorded as the `k8s.cronjob.label.automated` attribute with value `""`. - - - - ## K8s Daemonset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -130,11 +98,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.daemonset` **Description:** A Kubernetes DaemonSet object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -150,10 +113,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[5] `k8s.daemonset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. - - - - ## K8s Deployment **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -161,11 +120,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.deployment` **Description:** A Kubernetes Deployment object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -181,10 +135,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[7] `k8s.deployment.label.`:** The `` being the label name, the value being the label value, even if the value is empty. - - - - ## K8s Hpa **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -192,11 +142,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.hpa` **Description:** A Kubernetes HorizontalPodAutoscaler object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -206,10 +151,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`k8s.hpa.name`](/docs/registry/attribute/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## K8s Job **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -217,11 +158,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.job` **Description:** A Kubernetes Job object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -237,10 +173,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[9] `k8s.job.label.`:** The `` being the label name, the value being the label value, even if the value is empty. - - - - ## K8s Namespace **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -248,11 +180,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.namespace` **Description:** A Kubernetes Namespace. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -267,10 +194,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[11] `k8s.namespace.label.`:** The `` being the label name, the value being the label value, even if the value is empty. - - - - ## K8s Node **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -278,11 +201,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.node` **Description:** A Kubernetes Node object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -308,10 +226,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ - A label `data` with empty string value SHOULD be recorded as the `k8s.node.label.data` attribute with value `""`. - - - - ## K8s Pod **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -319,11 +233,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.pod` **Description:** A Kubernetes Pod object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -353,10 +262,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ - A label `data` with empty string value SHOULD be recorded as the `k8s.pod.label.data` attribute with value `""`. - - - - ## K8s Replicaset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -364,11 +269,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.replicaset` **Description:** A Kubernetes ReplicaSet object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -384,10 +284,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[17] `k8s.replicaset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. - - - - ## K8s Replicationcontroller **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -395,11 +291,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.replicationcontroller` **Description:** A Kubernetes ReplicationController object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -409,10 +300,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`k8s.replicationcontroller.name`](/docs/registry/attribute/k8s.md) | string | The name of the replication controller. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.replicationcontroller.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the replication controller. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## K8s Resourcequota **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -420,11 +307,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.resourcequota` **Description:** A Kubernetes ResourceQuota object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -434,10 +316,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`k8s.resourcequota.name`](/docs/registry/attribute/k8s.md) | string | The name of the resource quota. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## K8s Statefulset **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -445,11 +323,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.statefulset` **Description:** A Kubernetes StatefulSet object. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -465,7 +338,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[19] `k8s.statefulset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. - - - - diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md index c27d7a323d..ff63cc5039 100644 --- a/docs/registry/entities/os.md +++ b/docs/registry/entities/os.md @@ -1,13 +1,8 @@ - - - # Os - - ## Os **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `os` **Description:** The operating system (OS) on which the process represented by this resource is running. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -56,9 +46,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `openbsd` | OpenBSD | ![Development](https://img.shields.io/badge/-development-blue) | | `solaris` | SunOS, Oracle Solaris | ![Development](https://img.shields.io/badge/-development-blue) | | `windows` | Microsoft Windows | ![Development](https://img.shields.io/badge/-development-blue) | -| `z_os` | IBM z/OS | ![Development](https://img.shields.io/badge/-development-blue) | - - - - +| `z_os` | Deprecated. Use `zos` instead. | ![Development](https://img.shields.io/badge/-development-blue) | +| `zos` | IBM z/OS | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index e63ee08ace..1abdbb451e 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -1,13 +1,8 @@ - - - # Otel - - ## Otel Scope **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,10 +10,6 @@ **type:** `otel.scope` **Description:** Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's concepts. - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -28,7 +19,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`otel.scope.name`](/docs/registry/attribute/otel.md) | string | The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). | `io.opentelemetry.contrib.mongodb` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`otel.scope.version`](/docs/registry/attribute/otel.md) | string | The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). | `1.0.0` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - - - - diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md index 30e2a66486..ee5ac95436 100644 --- a/docs/registry/entities/process.md +++ b/docs/registry/entities/process.md @@ -1,13 +1,8 @@ - - - # Process - - ## Process **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `process` **Description:** An operating system process. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -48,10 +38,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[6] `process.linux.cgroup`:** Control groups (cgroups) are a kernel feature used to organize and manage process resources. This attribute provides the path(s) to the cgroup(s) associated with the process, which should match the contents of the [/proc/\[PID\]/cgroup](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. - - - - ## Process Runtime **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -59,11 +45,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `process.runtime` **Description:** The single (language) runtime instance which is monitored. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -74,7 +55,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`process.runtime.name`](/docs/registry/attribute/process.md) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`process.runtime.version`](/docs/registry/attribute/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - diff --git a/docs/registry/entities/service.md b/docs/registry/entities/service.md index a1b860bd33..f6cf91405b 100644 --- a/docs/registry/entities/service.md +++ b/docs/registry/entities/service.md @@ -1,13 +1,8 @@ - - - # Service - - ## Service **Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) @@ -15,8 +10,6 @@ **type:** `service` **Description:** A service instance. - - **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -55,13 +48,8 @@ port. **[3] `service.namespace`:** A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. - **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`service.version`](/docs/registry/attribute/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - - - - diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index e35efab176..70fb5aaec6 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -1,13 +1,8 @@ - - - # Telemetry - - ## Telemetry Distro **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `telemetry.distro` **Description:** The distribution of telemetry SDK used to capture data recorded by the instrumentation libraries. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -32,10 +22,6 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[1] `telemetry.distro.name`:** Official auto instrumentation agents and distributions SHOULD set the `telemetry.distro.name` attribute to a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. - - - - ## Telemetry Sdk **Status:** ![Stable](https://img.shields.io/badge/-stable-lightgreen) @@ -43,8 +29,6 @@ a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentatio **type:** `telemetry.sdk` **Description:** The telemetry SDK used to capture data recorded by the instrumentation libraries. - - **Identifying Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -57,7 +41,6 @@ or another suitable identifier depending on the language. The identifier `opentelemetry` is reserved and MUST NOT be used in this case. All custom identifiers SHOULD be stable across different versions of an implementation. - **Descriptive Attributes:** | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -83,7 +66,3 @@ All custom identifiers SHOULD be stable across different versions of an implemen | `swift` | swift | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `webjs` | webjs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - - - - diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index e7945877d8..6349cb1421 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -1,13 +1,8 @@ - - - # Vcs - - ## Vcs Ref **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `vcs.ref` **Description:** A reference to a specific version in the Version Control System. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -54,10 +44,6 @@ revision based on the VCS system and situational context. | `branch` | [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch) | ![Development](https://img.shields.io/badge/-development-blue) | | `tag` | [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag) | ![Development](https://img.shields.io/badge/-development-blue) | - - - - ## Vcs Repo **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -65,11 +51,6 @@ revision based on the VCS system and situational context. **type:** `vcs.repo` **Description:** A repository in the Version Control System. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -86,7 +67,3 @@ the same backends. **[4] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include the `.git` extension. - - - - diff --git a/docs/registry/entities/webengine.md b/docs/registry/entities/webengine.md index 3a4867289c..c67b5d01f1 100644 --- a/docs/registry/entities/webengine.md +++ b/docs/registry/entities/webengine.md @@ -1,13 +1,8 @@ - - - # Webengine - - ## Webengine **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -15,11 +10,6 @@ **type:** `webengine` **Description:** Resource describing the packaged software running the application code. Web engines are typically executed using process.runtime. - - -**Identifying Attributes:** - - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -30,7 +20,3 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`webengine.description`](/docs/registry/attribute/webengine.md) | string | Additional description of the web engine (e.g. detailed version and edition information). | `WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`webengine.version`](/docs/registry/attribute/webengine.md) | string | The version of the web engine. | `21.0.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - - - - diff --git a/docs/registry/entities/zos.md b/docs/registry/entities/zos.md new file mode 100644 index 0000000000..52467755b4 --- /dev/null +++ b/docs/registry/entities/zos.md @@ -0,0 +1,22 @@ + + + +# Zos + +## Zos Software + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +**type:** `zos.software` + +**Description:** A software resource running on a z/OS system. +**Other Attributes:** + +_Note: Stable Entities MUST have attributes with a defined role._ + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`zos.smf.id`](/docs/registry/attribute/zos.md) | string | The System Management Facility (SMF) Identifier uniquely identified a z/OS system within a SYSPLEX or mainframe environment and is used for system and performance analysis. | `SYS1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`zos.sysplex.name`](/docs/registry/attribute/zos.md) | string | The name of the SYSPLEX to which the z/OS system belongs too. | `SYSPLEX1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`mainframe.lpar.name`](/docs/registry/attribute/mainframe.md) | string | Name of the logical partition that hosts a systems with a mainframe operating system. | `LPAR01` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index 99a43a4359..b426e7bde9 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -1,42 +1,36 @@ - -{% import 'stability.j2' as stability %} -{% import 'attribute_table.j2' as at %} +{%- import 'stability.j2' as stability %} +{%- import 'attribute_table.j2' as at %} # {{ ctx.id | title_case }} -{# TODO ToC #} - {% for e in ctx.groups | sort(attribute='name') %} {%- set id_attrs = e.attributes | selectattr("role", "equalto", "identifying") -%} {%- set desc_attrs = e.attributes | selectattr("role", "equalto", "descriptive") -%} {%- set misc_attrs = e.attributes | rejectattr("role", "defined") -%} + ## {{ e.name | title_case }} **Status:** {{ stability.badge(e.stability, e.deprecated) }} **type:** `{{ e.name }}` -**Description:** {{ e.brief }} +**Description:** {{ e.brief | trim }} +{%- if desc_attrs | length > 0 %} **Identifying Attributes:** -{{ at.generate(id_attrs, "", "/docs/registry/attribute", e.lineage.attributes) }} - - +{{ at.generate(id_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim }} +{% endif %} {%- if desc_attrs | length > 0 %} **Descriptive Attributes:** -{{ at.generate(desc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) }} +{{ at.generate(desc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim }} {% endif %} - {%- if misc_attrs | length > 0 %} - **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ -{{ at.generate(misc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) }} +{{ at.generate(misc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim}} {% endif %} - - {% endfor %} \ No newline at end of file From 5cd0015ec0dcf20ad84b5ae06c565363c3766fee Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:08:07 -0400 Subject: [PATCH 12/28] Fix table generation. --- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 2 +- docs/system/k8s-metrics.md | 20 ++++++++++---------- docs/system/system-metrics.md | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/registry/README.md b/docs/registry/README.md index ade021a9c6..31b1e729ed 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) \ No newline at end of file +- [Entities](entities/README.md) diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index a38318e40e..e8d028ce3a 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -281,4 +281,4 @@ Currently, the following namespaces exist: Development - \ No newline at end of file + diff --git a/docs/system/k8s-metrics.md b/docs/system/k8s-metrics.md index fcc4639aa2..7f22a19309 100644 --- a/docs/system/k8s-metrics.md +++ b/docs/system/k8s-metrics.md @@ -1204,7 +1204,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.cpu.limit` | Gauge | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.cpu.limit` | Gauge | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1226,7 +1226,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.cpu.request` | Gauge | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.cpu.request` | Gauge | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1248,7 +1248,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.memory.limit` | Gauge | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.memory.limit` | Gauge | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1270,7 +1270,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.memory.request` | Gauge | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.memory.request` | Gauge | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1292,7 +1292,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.storage.limit` | Gauge | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.storage.limit` | Gauge | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1314,7 +1314,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.storage.request` | Gauge | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.storage.request` | Gauge | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1336,7 +1336,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.ephemeral_storage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.ephemeral_storage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1358,7 +1358,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.ephemeral_storage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.ephemeral_storage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1380,7 +1380,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.restart.count` | UpDownCounter | `{restart}` | Describes how many times the container has restarted (since the last counter reset) [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.restart.count` | UpDownCounter | `{restart}` | Describes how many times the container has restarted (since the last counter reset) [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** This value is pulled directly from the K8s API and the value can go indefinitely high and be reset to 0 at any time depending on how your kubelet is configured to prune dead containers. @@ -1406,7 +1406,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.ready` | UpDownCounter | `{container}` | Indicates whether the container is currently marked as ready to accept traffic, based on its readiness probe (1 = ready, 0 = not ready) [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.ready` | UpDownCounter | `{container}` | Indicates whether the container is currently marked as ready to accept traffic, based on its readiness probe (1 = ready, 0 = not ready) [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | **[1]:** This metric SHOULD reflect the value of the `ready` field in the [K8s ContainerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstatus-v1-core). diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md index 6c42623b28..0e3f5d737a 100644 --- a/docs/system/system-metrics.md +++ b/docs/system/system-metrics.md @@ -158,7 +158,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.cpu.time` | Counter | `s` | Seconds each logical CPU spent on each mode | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.cpu.time` | Counter | `s` | Seconds each logical CPU spent on each mode | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -200,7 +200,7 @@ This metric is [opt-in][MetricOptIn]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.cpu.utilization` | Gauge | `1` | For each logical CPU, the utilization is calculated as the change in cumulative CPU time (cpu.time) over a measurement interval, divided by the elapsed time. | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.cpu.utilization` | Gauge | `1` | For each logical CPU, the utilization is calculated as the change in cumulative CPU time (cpu.time) over a measurement interval, divided by the elapsed time. | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| From fb31182d5a6ada5be6593a72738c113742405605 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:10:10 -0400 Subject: [PATCH 13/28] Fix generation. --- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/registry/README.md b/docs/registry/README.md index 31b1e729ed..ade021a9c6 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) +- [Entities](entities/README.md) \ No newline at end of file diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index e8d028ce3a..a38318e40e 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -281,4 +281,4 @@ Currently, the following namespaces exist: Development - + \ No newline at end of file From ab10b1b55bcdf147eff814b98bc05454695f00ef Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:12:41 -0400 Subject: [PATCH 14/28] Regenerate registry. --- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/registry/README.md b/docs/registry/README.md index ade021a9c6..31b1e729ed 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) \ No newline at end of file +- [Entities](entities/README.md) diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index a38318e40e..e8d028ce3a 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -281,4 +281,4 @@ Currently, the following namespaces exist: Development - \ No newline at end of file + From a4db7d129e2e7bc0236e106de5cde6806947a180 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:13:01 -0400 Subject: [PATCH 15/28] Fix generation. --- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/registry/README.md b/docs/registry/README.md index 31b1e729ed..ade021a9c6 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) +- [Entities](entities/README.md) \ No newline at end of file diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index e8d028ce3a..a38318e40e 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -281,4 +281,4 @@ Currently, the following namespaces exist: Development - + \ No newline at end of file From 8672af6b25c8a182e0e863178eb7daa1cb874208 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:42:48 -0400 Subject: [PATCH 16/28] Fix more markdown lint issues. --- docs/registry/README.md | 2 +- docs/registry/entities/README.md | 2 +- docs/registry/entities/android.md | 5 +++++ docs/registry/entities/app.md | 5 +++++ docs/registry/entities/aws.md | 7 +++++++ docs/registry/entities/browser.md | 5 +++++ docs/registry/entities/cicd.md | 7 +++++++ docs/registry/entities/cloud.md | 5 +++++ docs/registry/entities/cloudfoundry.md | 9 +++++++++ docs/registry/entities/container.md | 5 +++++ docs/registry/entities/deployment.md | 5 +++++ docs/registry/entities/device.md | 5 +++++ docs/registry/entities/faas.md | 5 +++++ docs/registry/entities/gcp.md | 9 +++++++++ docs/registry/entities/heroku.md | 5 +++++ docs/registry/entities/host.md | 6 ++++++ docs/registry/entities/k8s.md | 18 ++++++++++++++++++ docs/registry/entities/os.md | 5 +++++ docs/registry/entities/otel.md | 5 +++++ docs/registry/entities/process.md | 16 +++++++++++----- docs/registry/entities/service.md | 7 +++++++ docs/registry/entities/telemetry.md | 8 ++++++++ docs/registry/entities/vcs.md | 6 ++++++ docs/registry/entities/webengine.md | 5 +++++ docs/registry/entities/zos.md | 5 +++++ docs/resource/process.md | 10 +++++----- model/process/entities.yaml | 10 +++++----- .../registry/markdown/entity_namespace.md.j2 | 17 +++++++++++++---- .../registry/markdown/entity_readme.md.j2 | 1 + .../registry/markdown/registry_readme.md.j2 | 1 + 30 files changed, 180 insertions(+), 21 deletions(-) diff --git a/docs/registry/README.md b/docs/registry/README.md index ade021a9c6..31b1e729ed 100644 --- a/docs/registry/README.md +++ b/docs/registry/README.md @@ -7,4 +7,4 @@ weight: -2 This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) -- [Entities](entities/README.md) \ No newline at end of file +- [Entities](entities/README.md) diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index a38318e40e..e8d028ce3a 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -281,4 +281,4 @@ Currently, the following namespaces exist: Development - \ No newline at end of file + diff --git a/docs/registry/entities/android.md b/docs/registry/entities/android.md index b46fa658a8..d9110c02f9 100644 --- a/docs/registry/entities/android.md +++ b/docs/registry/entities/android.md @@ -1,5 +1,7 @@ + + # Android @@ -10,6 +12,7 @@ **type:** `android` **Description:** The Android platform on which the Android application is running. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -18,3 +21,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`android.os.api_level`](/docs/registry/attribute/android.md) | string | Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). | `33`; `32` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/registry/entities/app.md b/docs/registry/entities/app.md index 2e70beaa31..26de9e16ba 100644 --- a/docs/registry/entities/app.md +++ b/docs/registry/entities/app.md @@ -1,5 +1,7 @@ + + # App @@ -10,6 +12,7 @@ **type:** `app` **Description:** An app used directly by end users — like mobile, web, or desktop. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -36,3 +39,5 @@ For Android, examples of `app.installation.id` implementations include: More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). + + \ No newline at end of file diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index f135425332..7b5836f1e3 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -1,5 +1,7 @@ + + # Aws @@ -10,6 +12,7 @@ **type:** `aws.ecs` **Description:** Entities used by AWS Elastic Container Service (ECS). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -40,6 +43,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `aws.eks` **Description:** Entities used by AWS Elastic Kubernetes Service (EKS). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -55,6 +59,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `aws.log` **Description:** Entities specific to Amazon Web Services. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -72,3 +77,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[3] `aws.log.stream.arns`:** See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. + + \ No newline at end of file diff --git a/docs/registry/entities/browser.md b/docs/registry/entities/browser.md index a42168b76c..4a0de60474 100644 --- a/docs/registry/entities/browser.md +++ b/docs/registry/entities/browser.md @@ -1,5 +1,7 @@ + + # Browser @@ -10,6 +12,7 @@ **type:** `browser` **Description:** The web browser in which the application represented by the resource is running. The `browser.*` attributes MUST be used only for resources that represent applications running in a web browser (regardless of whether running on a mobile or desktop device). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -33,3 +36,5 @@ The list of possible values is defined in the [W3C User-Agent Client Hints speci **[5] `user_agent.original`:** The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy `navigator.userAgent` API can be used. + + \ No newline at end of file diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md index 718507aef7..a85ff0b255 100644 --- a/docs/registry/entities/cicd.md +++ b/docs/registry/entities/cicd.md @@ -1,5 +1,7 @@ + + # Cicd @@ -10,6 +12,7 @@ **type:** `cicd.pipeline` **Description:** A pipeline is a series of automated steps that helps software teams deliver code. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -25,6 +28,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `cicd.pipeline.run` **Description:** A pipeline run is a singular execution of a given pipeline's tasks. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -41,6 +45,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `cicd.worker` **Description:** A CICD worker is a component of the CICD system that performs work (eg. running pipeline tasks or performing sync). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -51,3 +56,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`cicd.worker.name`](/docs/registry/attribute/cicd.md) | string | The name of a worker within a CICD system. | `agent-abc`; `controller`; `Ubuntu LTS` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`cicd.worker.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker. | `https://cicd.example.org/worker/abc123` | `Recommended` If available | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/registry/entities/cloud.md b/docs/registry/entities/cloud.md index f7d9aabefe..461ea535c9 100644 --- a/docs/registry/entities/cloud.md +++ b/docs/registry/entities/cloud.md @@ -1,5 +1,7 @@ + + # Cloud @@ -10,6 +12,7 @@ **type:** `cloud` **Description:** A cloud environment (e.g. GCP, Azure, AWS) + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -99,3 +102,5 @@ The following well-known definitions MUST be used if you set this attribute and | `oracle_cloud` | Oracle Cloud Infrastructure (OCI) | ![Development](https://img.shields.io/badge/-development-blue) | | `tencent_cloud` | Tencent Cloud | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index e74933f3bf..b497c42715 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -1,5 +1,7 @@ + + # Cloudfoundry @@ -10,6 +12,7 @@ **type:** `cloudfoundry.app` **Description:** The application which is monitored. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -34,6 +37,7 @@ as reported by `cf apps`. **type:** `cloudfoundry.org` **Description:** The organization of the application which is monitored. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -58,6 +62,7 @@ reported by `cf orgs`. **type:** `cloudfoundry.process` **Description:** The process of the application which is monitored. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -83,6 +88,7 @@ tasks or side-cars with different process types. **type:** `cloudfoundry.space` **Description:** The space of the application which is monitored. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -107,6 +113,7 @@ reported by `cf spaces`. **type:** `cloudfoundry.system` **Description:** The system component which is monitored. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -134,3 +141,5 @@ When system components are instrumented, values from the [Bosh spec](https://bosh.io/docs/jobs/#properties-spec) should be used. The `system.instance.id` should be set to `spec.id`. + + \ No newline at end of file diff --git a/docs/registry/entities/container.md b/docs/registry/entities/container.md index 335559555a..cb938ff143 100644 --- a/docs/registry/entities/container.md +++ b/docs/registry/entities/container.md @@ -1,5 +1,7 @@ + + # Container @@ -10,6 +12,7 @@ **type:** `container` **Description:** A container instance. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -42,3 +45,5 @@ An example can be found in [Example Image Manifest](https://github.com/openconta **[5] `container.command`:** If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. + + \ No newline at end of file diff --git a/docs/registry/entities/deployment.md b/docs/registry/entities/deployment.md index 737e4615b0..8482968b8f 100644 --- a/docs/registry/entities/deployment.md +++ b/docs/registry/entities/deployment.md @@ -1,5 +1,7 @@ + + # Deployment @@ -10,6 +12,7 @@ **type:** `deployment` **Description:** The software deployment. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -26,3 +29,5 @@ considered to be identifying the same service: - `service.name=frontend`, `deployment.environment.name=production` - `service.name=frontend`, `deployment.environment.name=staging`. + + \ No newline at end of file diff --git a/docs/registry/entities/device.md b/docs/registry/entities/device.md index 359e5d2e5b..a63b63fded 100644 --- a/docs/registry/entities/device.md +++ b/docs/registry/entities/device.md @@ -1,5 +1,7 @@ + + # Device @@ -10,6 +12,7 @@ **type:** `device` **Description:** The device on which the process represented by this resource is running. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -44,3 +47,5 @@ More information about Android identifier best practices can be found [here](htt > > See [`app.installation.id`](/docs/registry/attributes/app.md#app-installation-id) for a more privacy-preserving alternative. + + \ No newline at end of file diff --git a/docs/registry/entities/faas.md b/docs/registry/entities/faas.md index fb67d8c5fd..d13758c6e7 100644 --- a/docs/registry/entities/faas.md +++ b/docs/registry/entities/faas.md @@ -1,5 +1,7 @@ + + # Faas @@ -10,6 +12,7 @@ **type:** `faas` **Description:** A serverless instance. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -71,3 +74,5 @@ The following well-known definitions MUST be used if you set this attribute and [`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). - **Azure Functions:** Not applicable. Do not set this attribute. + + \ No newline at end of file diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md index 9ff5389e84..ecc394a21a 100644 --- a/docs/registry/entities/gcp.md +++ b/docs/registry/entities/gcp.md @@ -1,5 +1,7 @@ + + # Gcp @@ -10,6 +12,7 @@ **type:** `gcp.apphub.application` **Description:** Attributes denoting data from an Application in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -27,6 +30,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `gcp.apphub.service` **Description:** Attributes denoting data from a Service in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -70,6 +74,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `gcp.apphub.workload` **Description:** Attributes denoting data from a Workload in AppHub. See [AppHub overview](https://cloud.google.com/app-hub/docs/overview). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -113,6 +118,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `gcp.cloud_run` **Description:** Resource used by Google Cloud Run. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -129,6 +135,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `gcp.gce` **Description:** Resources used by Google Compute Engine (GCE). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -138,3 +145,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`gcp.gce.instance.hostname`](/docs/registry/attribute/gcp.md) | string | The hostname of a GCE instance. This is the full value of the default or [custom hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). | `my-host1234.example.com`; `sample-vm.us-west1-b.c.my-project.internal` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gcp.gce.instance.name`](/docs/registry/attribute/gcp.md) | string | The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the [default internal DNS name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). | `instance-1`; `my-vm-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/registry/entities/heroku.md b/docs/registry/entities/heroku.md index 4731a8849d..949e503c41 100644 --- a/docs/registry/entities/heroku.md +++ b/docs/registry/entities/heroku.md @@ -1,5 +1,7 @@ + + # Heroku @@ -10,6 +12,7 @@ **type:** `heroku` **Description:** [Heroku dyno metadata](https://devcenter.heroku.com/articles/dyno-metadata) + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -20,3 +23,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`heroku.release.commit`](/docs/registry/attribute/heroku.md) | string | Commit hash for the current release | `e6134959463efd8966b20e75b913cafe3f5ec` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | | [`heroku.release.creation_timestamp`](/docs/registry/attribute/heroku.md) | string | Time and date the release was created | `2022-10-23T18:00:42Z` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index 850c443928..619d5553c9 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -1,5 +1,7 @@ + + # Host @@ -10,6 +12,7 @@ **type:** `host` **Description:** A host is defined as a computing instance. For example, physical servers, virtual machines, switches or disk array. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -78,6 +81,7 @@ privileged lookup of `host.id` is required, the value should be injected via the **type:** `host.cpu` **Description:** A host's CPU information + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -93,3 +97,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[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. + + \ No newline at end of file diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index 34b1c3c647..55389ee4e3 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -1,5 +1,7 @@ + + # K8s @@ -10,6 +12,7 @@ **type:** `k8s.cluster` **Description:** A Kubernetes Cluster. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -49,6 +52,7 @@ conflict. **type:** `k8s.container` **Description:** A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -66,6 +70,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.cronjob` **Description:** A Kubernetes CronJob object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -98,6 +103,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.daemonset` **Description:** A Kubernetes DaemonSet object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -120,6 +126,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.deployment` **Description:** A Kubernetes Deployment object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -142,6 +149,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.hpa` **Description:** A Kubernetes HorizontalPodAutoscaler object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -158,6 +166,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.job` **Description:** A Kubernetes Job object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -180,6 +189,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.namespace` **Description:** A Kubernetes Namespace. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -201,6 +211,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.node` **Description:** A Kubernetes Node object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -233,6 +244,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.pod` **Description:** A Kubernetes Pod object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -269,6 +281,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.replicaset` **Description:** A Kubernetes ReplicaSet object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -291,6 +304,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.replicationcontroller` **Description:** A Kubernetes ReplicationController object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -307,6 +321,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.resourcequota` **Description:** A Kubernetes ResourceQuota object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -323,6 +338,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `k8s.statefulset` **Description:** A Kubernetes StatefulSet object. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -338,3 +354,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[19] `k8s.statefulset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. + + \ No newline at end of file diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md index ff63cc5039..0f63a931c4 100644 --- a/docs/registry/entities/os.md +++ b/docs/registry/entities/os.md @@ -1,5 +1,7 @@ + + # Os @@ -10,6 +12,7 @@ **type:** `os` **Description:** The operating system (OS) on which the process represented by this resource is running. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -49,3 +52,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `z_os` | Deprecated. Use `zos` instead. | ![Development](https://img.shields.io/badge/-development-blue) | | `zos` | IBM z/OS | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index 1abdbb451e..02105409a4 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -1,5 +1,7 @@ + + # Otel @@ -10,6 +12,7 @@ **type:** `otel.scope` **Description:** Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's concepts. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -19,3 +22,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`otel.scope.name`](/docs/registry/attribute/otel.md) | string | The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). | `io.opentelemetry.contrib.mongodb` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`otel.scope.version`](/docs/registry/attribute/otel.md) | string | The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). | `1.0.0` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + \ No newline at end of file diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md index ee5ac95436..4b841a8ae7 100644 --- a/docs/registry/entities/process.md +++ b/docs/registry/entities/process.md @@ -1,5 +1,7 @@ + + # Process @@ -10,6 +12,7 @@ **type:** `process` **Description:** An operating system process. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -26,15 +29,15 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`process.parent_pid`](/docs/registry/attribute/process.md) | int | Parent Process identifier (PPID). | `111` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`process.pid`](/docs/registry/attribute/process.md) | int | Process identifier (PID). | `1234` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**[1] `process.command`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[1] `process.command`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. -**[2] `process.command_args`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[2] `process.command_args`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. -**[3] `process.command_line`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[3] `process.command_line`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. -**[4] `process.executable.name`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[4] `process.executable.name`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. -**[5] `process.executable.path`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[5] `process.executable.path`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. **[6] `process.linux.cgroup`:** Control groups (cgroups) are a kernel feature used to organize and manage process resources. This attribute provides the path(s) to the cgroup(s) associated with the process, which should match the contents of the [/proc/\[PID\]/cgroup](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. @@ -45,6 +48,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ **type:** `process.runtime` **Description:** The single (language) runtime instance which is monitored. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -55,3 +59,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`process.runtime.name`](/docs/registry/attribute/process.md) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`process.runtime.version`](/docs/registry/attribute/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/registry/entities/service.md b/docs/registry/entities/service.md index f6cf91405b..86eeb5da7d 100644 --- a/docs/registry/entities/service.md +++ b/docs/registry/entities/service.md @@ -1,5 +1,7 @@ + + # Service @@ -10,7 +12,9 @@ **type:** `service` **Description:** A service instance. + **Identifying Attributes:** + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`service.name`](/docs/registry/attribute/service.md) | string | Logical name of the service. [1] | `shoppingcart` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -49,7 +53,10 @@ port. **[3] `service.namespace`:** A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. **Descriptive Attributes:** + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`service.version`](/docs/registry/attribute/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + \ No newline at end of file diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index 70fb5aaec6..abd8c5b369 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -1,5 +1,7 @@ + + # Telemetry @@ -10,6 +12,7 @@ **type:** `telemetry.distro` **Description:** The distribution of telemetry SDK used to capture data recorded by the instrumentation libraries. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -29,7 +32,9 @@ a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentatio **type:** `telemetry.sdk` **Description:** The telemetry SDK used to capture data recorded by the instrumentation libraries. + **Identifying Attributes:** + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`telemetry.sdk.name`](/docs/registry/attribute/telemetry.md) | string | The name of the telemetry SDK as defined above. [2] | `opentelemetry` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -42,6 +47,7 @@ The identifier `opentelemetry` is reserved and MUST NOT be used in this case. All custom identifiers SHOULD be stable across different versions of an implementation. **Descriptive Attributes:** + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`telemetry.sdk.language`](/docs/registry/attribute/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -66,3 +72,5 @@ All custom identifiers SHOULD be stable across different versions of an implemen | `swift` | swift | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `webjs` | webjs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + \ No newline at end of file diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index 6349cb1421..4fa886b157 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -1,5 +1,7 @@ + + # Vcs @@ -10,6 +12,7 @@ **type:** `vcs.ref` **Description:** A reference to a specific version in the Version Control System. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -51,6 +54,7 @@ revision based on the VCS system and situational context. **type:** `vcs.repo` **Description:** A repository in the Version Control System. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -67,3 +71,5 @@ the same backends. **[4] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include the `.git` extension. + + \ No newline at end of file diff --git a/docs/registry/entities/webengine.md b/docs/registry/entities/webengine.md index c67b5d01f1..b53883061b 100644 --- a/docs/registry/entities/webengine.md +++ b/docs/registry/entities/webengine.md @@ -1,5 +1,7 @@ + + # Webengine @@ -10,6 +12,7 @@ **type:** `webengine` **Description:** Resource describing the packaged software running the application code. Web engines are typically executed using process.runtime. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -20,3 +23,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`webengine.description`](/docs/registry/attribute/webengine.md) | string | Additional description of the web engine (e.g. detailed version and edition information). | `WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`webengine.version`](/docs/registry/attribute/webengine.md) | string | The version of the web engine. | `21.0.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/registry/entities/zos.md b/docs/registry/entities/zos.md index 52467755b4..bde12ade0d 100644 --- a/docs/registry/entities/zos.md +++ b/docs/registry/entities/zos.md @@ -1,5 +1,7 @@ + + # Zos @@ -10,6 +12,7 @@ **type:** `zos.software` **Description:** A software resource running on a z/OS system. + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ @@ -20,3 +23,5 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`zos.sysplex.name`](/docs/registry/attribute/zos.md) | string | The name of the SYSPLEX to which the z/OS system belongs too. | `SYSPLEX1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | | [`mainframe.lpar.name`](/docs/registry/attribute/mainframe.md) | string | Name of the logical partition that hosts a systems with a mainframe operating system. | `LPAR01` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | + + \ No newline at end of file diff --git a/docs/resource/process.md b/docs/resource/process.md index 9de67da14e..78e083e190 100644 --- a/docs/resource/process.md +++ b/docs/resource/process.md @@ -49,15 +49,15 @@ linkTitle: Process | [`process.parent_pid`](/docs/registry/attributes/process.md) | int | Parent Process identifier (PPID). | `111` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`process.pid`](/docs/registry/attributes/process.md) | int | Process identifier (PID). | `1234` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -**[1] `process.command`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[1] `process.command`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. -**[2] `process.command_args`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[2] `process.command_args`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. -**[3] `process.command_line`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[3] `process.command_line`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. -**[4] `process.executable.name`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[4] `process.executable.name`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. -**[5] `process.executable.path`:** See [Selecting process attributes](#selecting-process-attributes) for details. +**[5] `process.executable.path`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. **[6] `process.linux.cgroup`:** Control groups (cgroups) are a kernel feature used to organize and manage process resources. This attribute provides the path(s) to the cgroup(s) associated with the process, which should match the contents of the [/proc/\[PID\]/cgroup](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. diff --git a/model/process/entities.yaml b/model/process/entities.yaml index 10c557fc10..c96114783f 100644 --- a/model/process/entities.yaml +++ b/model/process/entities.yaml @@ -10,19 +10,19 @@ groups: - ref: process.parent_pid - ref: process.executable.name requirement_level: - conditionally_required: See [Selecting process attributes](#selecting-process-attributes) for details. + conditionally_required: See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. - ref: process.executable.path requirement_level: - conditionally_required: See [Selecting process attributes](#selecting-process-attributes) for details. + conditionally_required: See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. - ref: process.command requirement_level: - conditionally_required: See [Selecting process attributes](#selecting-process-attributes) for details. + conditionally_required: See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. - ref: process.command_line requirement_level: - conditionally_required: See [Selecting process attributes](#selecting-process-attributes) for details. + conditionally_required: See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. - ref: process.command_args requirement_level: - conditionally_required: See [Selecting process attributes](#selecting-process-attributes) for details. + conditionally_required: See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. - ref: process.owner - ref: process.linux.cgroup diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index b426e7bde9..edcf6b2df1 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -1,5 +1,7 @@ + + {%- import 'stability.j2' as stability %} {%- import 'attribute_table.j2' as at %} @@ -19,18 +21,25 @@ **Description:** {{ e.brief | trim }} {%- if desc_attrs | length > 0 %} + **Identifying Attributes:** + {{ at.generate(id_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim }} -{% endif %} +{%- endif %} {%- if desc_attrs | length > 0 %} + **Descriptive Attributes:** + {{ at.generate(desc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim }} -{% endif %} +{%- endif %} {%- if misc_attrs | length > 0 %} + **Other Attributes:** _Note: Stable Entities MUST have attributes with a defined role._ {{ at.generate(misc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim}} -{% endif %} -{% endfor %} \ No newline at end of file +{%- endif %} + +{% endfor %} + diff --git a/templates/registry/markdown/entity_readme.md.j2 b/templates/registry/markdown/entity_readme.md.j2 index 73ce5a29b7..fa55019e0b 100644 --- a/templates/registry/markdown/entity_readme.md.j2 +++ b/templates/registry/markdown/entity_readme.md.j2 @@ -40,3 +40,4 @@ Currently, the following namespaces exist: {%- endfor %} + diff --git a/templates/registry/markdown/registry_readme.md.j2 b/templates/registry/markdown/registry_readme.md.j2 index 31b1e729ed..c4d44c1149 100644 --- a/templates/registry/markdown/registry_readme.md.j2 +++ b/templates/registry/markdown/registry_readme.md.j2 @@ -8,3 +8,4 @@ This is an automatically generated registry of available semantic conventions. - [Attributes](attributes/README.md) - [Entities](entities/README.md) + From 692df4977d265689c7b8bbd687185c5f304ece6c Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:44:47 -0400 Subject: [PATCH 17/28] clean trailing space. --- templates/registry/markdown/entity_readme.md.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/registry/markdown/entity_readme.md.j2 b/templates/registry/markdown/entity_readme.md.j2 index fa55019e0b..4e91a24ce3 100644 --- a/templates/registry/markdown/entity_readme.md.j2 +++ b/templates/registry/markdown/entity_readme.md.j2 @@ -8,7 +8,7 @@ auto_gen: below # Entity registry -The entities registry is the catalog of available Entities. +The entities registry is the catalog of available Entities. > [!WARNING] > From 60c8e671bdfc9abeb66376ab347d3bc9efa48d28 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:50:13 -0400 Subject: [PATCH 18/28] remove trailing space from generated readme. --- docs/registry/entities/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index e8d028ce3a..ac97c14dbc 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -7,7 +7,7 @@ auto_gen: below # Entity registry -The entities registry is the catalog of available Entities. +The entities registry is the catalog of available Entities. > [!WARNING] > From f0cdd552dfedc09fdc53c3792b35284702dcf7aa Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:57:13 -0400 Subject: [PATCH 19/28] Fix attribute links. --- docs/registry/entities/service.md | 6 +++--- docs/registry/entities/telemetry.md | 2 +- templates/registry/markdown/entity_namespace.md.j2 | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/registry/entities/service.md b/docs/registry/entities/service.md index 86eeb5da7d..de2d273c3c 100644 --- a/docs/registry/entities/service.md +++ b/docs/registry/entities/service.md @@ -17,9 +17,9 @@ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`service.name`](/docs/registry/attribute/service.md) | string | Logical name of the service. [1] | `shoppingcart` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`service.instance.id`](/docs/registry/attribute/service.md) | string | The string ID of the service instance. [2] | `627cc493-f310-47de-96bd-71410b7dec09` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`service.namespace`](/docs/registry/attribute/service.md) | string | A namespace for `service.name`. [3] | `Shop` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`service.name`](/docs/registry/attributes/service.md) | string | Logical name of the service. [1] | `shoppingcart` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`service.instance.id`](/docs/registry/attributes/service.md) | string | The string ID of the service instance. [2] | `627cc493-f310-47de-96bd-71410b7dec09` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`service.namespace`](/docs/registry/attributes/service.md) | string | A namespace for `service.name`. [3] | `Shop` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `service.name`:** MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index abd8c5b369..cf1fbfd211 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -37,7 +37,7 @@ a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentatio | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`telemetry.sdk.name`](/docs/registry/attribute/telemetry.md) | string | The name of the telemetry SDK as defined above. [2] | `opentelemetry` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.name`](/docs/registry/attributes/telemetry.md) | string | The name of the telemetry SDK as defined above. [2] | `opentelemetry` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | **[2] `telemetry.sdk.name`:** The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index edcf6b2df1..e5ea816bd6 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -24,7 +24,7 @@ **Identifying Attributes:** -{{ at.generate(id_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim }} +{{ at.generate(id_attrs, "", "/docs/registry/attributes", e.lineage.attributes) | trim }} {%- endif %} {%- if desc_attrs | length > 0 %} From ea0f50e4c2ad2af7fe2ddc6854dcc10e892b819b Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 15:57:58 -0400 Subject: [PATCH 20/28] Actually fix links everywhere. --- docs/registry/entities/android.md | 2 +- docs/registry/entities/app.md | 2 +- docs/registry/entities/aws.md | 24 ++--- docs/registry/entities/browser.md | 10 +- docs/registry/entities/cicd.md | 12 +-- docs/registry/entities/cloud.md | 12 +-- docs/registry/entities/cloudfoundry.md | 20 ++-- docs/registry/entities/container.md | 24 ++--- docs/registry/entities/deployment.md | 2 +- docs/registry/entities/device.md | 8 +- docs/registry/entities/faas.md | 10 +- docs/registry/entities/gcp.md | 26 +++--- docs/registry/entities/heroku.md | 6 +- docs/registry/entities/host.md | 30 +++--- docs/registry/entities/k8s.md | 92 +++++++++---------- docs/registry/entities/os.md | 10 +- docs/registry/entities/otel.md | 4 +- docs/registry/entities/process.md | 24 ++--- docs/registry/entities/service.md | 2 +- docs/registry/entities/telemetry.md | 8 +- docs/registry/entities/vcs.md | 10 +- docs/registry/entities/webengine.md | 6 +- docs/registry/entities/zos.md | 6 +- .../registry/markdown/entity_namespace.md.j2 | 4 +- 24 files changed, 177 insertions(+), 177 deletions(-) diff --git a/docs/registry/entities/android.md b/docs/registry/entities/android.md index d9110c02f9..9680b97563 100644 --- a/docs/registry/entities/android.md +++ b/docs/registry/entities/android.md @@ -19,7 +19,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`android.os.api_level`](/docs/registry/attribute/android.md) | string | Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). | `33`; `32` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`android.os.api_level`](/docs/registry/attributes/android.md) | string | Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). | `33`; `32` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | \ No newline at end of file diff --git a/docs/registry/entities/app.md b/docs/registry/entities/app.md index 26de9e16ba..a55bb13cec 100644 --- a/docs/registry/entities/app.md +++ b/docs/registry/entities/app.md @@ -19,7 +19,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`app.installation.id`](/docs/registry/attribute/app.md) | string | A unique identifier representing the installation of an application on a specific device [1] | `2ab2916d-a51f-4ac8-80ee-45ac31a28092` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`app.installation.id`](/docs/registry/attributes/app.md) | string | A unique identifier representing the installation of an application on a specific device [1] | `2ab2916d-a51f-4ac8-80ee-45ac31a28092` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `app.installation.id`:** Its value SHOULD persist across launches of the same application installation, including through application upgrades. It SHOULD change if the application is uninstalled or if all applications of the vendor are uninstalled. diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index 7b5836f1e3..64e1381f9f 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -19,13 +19,13 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`aws.ecs.task.id`](/docs/registry/attribute/aws.md) | string | The ID of a running ECS task. The ID MUST be extracted from `task.arn`. | `10838bed-421f-43ef-870a-f43feacbbb5b`; `23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Conditionally Required` If and only if `task.arn` is populated. | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.container.arn`](/docs/registry/attribute/aws.md) | string | The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | `arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.launchtype`](/docs/registry/attribute/aws.md) | string | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `ec2`; `fargate` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.task.arn`](/docs/registry/attribute/aws.md) | string | The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b`; `arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.task.family`](/docs/registry/attribute/aws.md) | string | The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task. | `opentelemetry-family` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.ecs.task.revision`](/docs/registry/attribute/aws.md) | string | The revision for the task definition used to create the ECS task. | `8`; `26` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.id`](/docs/registry/attributes/aws.md) | string | The ID of a running ECS task. The ID MUST be extracted from `task.arn`. | `10838bed-421f-43ef-870a-f43feacbbb5b`; `23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Conditionally Required` If and only if `task.arn` is populated. | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.cluster.arn`](/docs/registry/attributes/aws.md) | string | The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.container.arn`](/docs/registry/attributes/aws.md) | string | The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | `arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.launchtype`](/docs/registry/attributes/aws.md) | string | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `ec2`; `fargate` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.arn`](/docs/registry/attributes/aws.md) | string | The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b`; `arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.family`](/docs/registry/attributes/aws.md) | string | The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task. | `opentelemetry-family` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.ecs.task.revision`](/docs/registry/attributes/aws.md) | string | The revision for the task definition used to create the ECS task. | `8`; `26` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | --- @@ -50,7 +50,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`aws.eks.cluster.arn`](/docs/registry/attribute/aws.md) | string | The ARN of an EKS cluster. | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.eks.cluster.arn`](/docs/registry/attributes/aws.md) | string | The ARN of an EKS cluster. | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | ## Aws Log @@ -66,10 +66,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`aws.log.group.arns`](/docs/registry/attribute/aws.md) | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [1] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.log.group.names`](/docs/registry/attribute/aws.md) | string[] | The name(s) of the AWS log group(s) an application is writing to. [2] | `["/aws/lambda/my-function", "opentelemetry-service"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.log.stream.arns`](/docs/registry/attribute/aws.md) | string[] | The ARN(s) of the AWS log stream(s). [3] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`aws.log.stream.names`](/docs/registry/attribute/aws.md) | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.group.arns`](/docs/registry/attributes/aws.md) | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [1] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.group.names`](/docs/registry/attributes/aws.md) | string[] | The name(s) of the AWS log group(s) an application is writing to. [2] | `["/aws/lambda/my-function", "opentelemetry-service"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.stream.arns`](/docs/registry/attributes/aws.md) | string[] | The ARN(s) of the AWS log stream(s). [3] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`aws.log.stream.names`](/docs/registry/attributes/aws.md) | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `aws.log.group.arns`:** See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). diff --git a/docs/registry/entities/browser.md b/docs/registry/entities/browser.md index 4a0de60474..0db6849306 100644 --- a/docs/registry/entities/browser.md +++ b/docs/registry/entities/browser.md @@ -19,11 +19,11 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`browser.brands`](/docs/registry/attribute/browser.md) | string[] | Array of brand name and version separated by a space [1] | `[" Not A;Brand 99", "Chromium 99", "Chrome 99"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`browser.language`](/docs/registry/attribute/browser.md) | string | Preferred language of the user using the browser [2] | `en`; `en-US`; `fr`; `fr-FR` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`browser.mobile`](/docs/registry/attribute/browser.md) | boolean | A boolean that is true if the browser is running on a mobile device [3] | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`browser.platform`](/docs/registry/attribute/browser.md) | string | The platform on which the browser is running [4] | `Windows`; `macOS`; `Android` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`user_agent.original`](/docs/registry/attribute/user-agent.md) | string | Full user-agent string provided by the browser [5] | `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`browser.brands`](/docs/registry/attributes/browser.md) | string[] | Array of brand name and version separated by a space [1] | `[" Not A;Brand 99", "Chromium 99", "Chrome 99"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.language`](/docs/registry/attributes/browser.md) | string | Preferred language of the user using the browser [2] | `en`; `en-US`; `fr`; `fr-FR` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.mobile`](/docs/registry/attributes/browser.md) | boolean | A boolean that is true if the browser is running on a mobile device [3] | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`browser.platform`](/docs/registry/attributes/browser.md) | string | The platform on which the browser is running [4] | `Windows`; `macOS`; `Android` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`user_agent.original`](/docs/registry/attributes/user-agent.md) | string | Full user-agent string provided by the browser [5] | `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | **[1] `browser.brands`:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.brands`). diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md index a85ff0b255..362331e19e 100644 --- a/docs/registry/entities/cicd.md +++ b/docs/registry/entities/cicd.md @@ -19,7 +19,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cicd.pipeline.name`](/docs/registry/attribute/cicd.md) | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.pipeline.name`](/docs/registry/attributes/cicd.md) | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | ## Cicd Pipeline Run @@ -35,8 +35,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cicd.pipeline.run.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cicd.pipeline.run.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the pipeline run, providing the complete address in order to locate and identify the pipeline run. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.pipeline.run.id`](/docs/registry/attributes/cicd.md) | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.pipeline.run.url.full`](/docs/registry/attributes/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the pipeline run, providing the complete address in order to locate and identify the pipeline run. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | ## Cicd Worker @@ -52,9 +52,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cicd.worker.id`](/docs/registry/attribute/cicd.md) | string | The unique identifier of a worker within a CICD system. | `abc123`; `10.0.1.2`; `controller` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cicd.worker.name`](/docs/registry/attribute/cicd.md) | string | The name of a worker within a CICD system. | `agent-abc`; `controller`; `Ubuntu LTS` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cicd.worker.url.full`](/docs/registry/attribute/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker. | `https://cicd.example.org/worker/abc123` | `Recommended` If available | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.worker.id`](/docs/registry/attributes/cicd.md) | string | The unique identifier of a worker within a CICD system. | `abc123`; `10.0.1.2`; `controller` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.worker.name`](/docs/registry/attributes/cicd.md) | string | The name of a worker within a CICD system. | `agent-abc`; `controller`; `Ubuntu LTS` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cicd.worker.url.full`](/docs/registry/attributes/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker. | `https://cicd.example.org/worker/abc123` | `Recommended` If available | ![Development](https://img.shields.io/badge/-development-blue) | \ No newline at end of file diff --git a/docs/registry/entities/cloud.md b/docs/registry/entities/cloud.md index 461ea535c9..44fc1a806a 100644 --- a/docs/registry/entities/cloud.md +++ b/docs/registry/entities/cloud.md @@ -19,12 +19,12 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cloud.account.id`](/docs/registry/attribute/cloud.md) | string | The cloud account ID the resource is assigned to. | `111111111111`; `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.availability_zone`](/docs/registry/attribute/cloud.md) | string | Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. [1] | `us-east-1c` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.platform`](/docs/registry/attribute/cloud.md) | string | The cloud platform in use. [2] | `alibaba_cloud_ecs`; `alibaba_cloud_fc`; `alibaba_cloud_openshift` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.provider`](/docs/registry/attribute/cloud.md) | string | Name of the cloud provider. | `alibaba_cloud`; `aws`; `azure` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.region`](/docs/registry/attribute/cloud.md) | string | The geographical region within a cloud provider. When associated with a resource, this attribute specifies the region where the resource operates. When calling services or APIs deployed on a cloud, this attribute identifies the region where the called destination is deployed. [3] | `us-central1`; `us-east-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.resource_id`](/docs/registry/attribute/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [4] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.account.id`](/docs/registry/attributes/cloud.md) | string | The cloud account ID the resource is assigned to. | `111111111111`; `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.availability_zone`](/docs/registry/attributes/cloud.md) | string | Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. [1] | `us-east-1c` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.platform`](/docs/registry/attributes/cloud.md) | string | The cloud platform in use. [2] | `alibaba_cloud_ecs`; `alibaba_cloud_fc`; `alibaba_cloud_openshift` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.provider`](/docs/registry/attributes/cloud.md) | string | Name of the cloud provider. | `alibaba_cloud`; `aws`; `azure` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.region`](/docs/registry/attributes/cloud.md) | string | The geographical region within a cloud provider. When associated with a resource, this attribute specifies the region where the resource operates. When calling services or APIs deployed on a cloud, this attribute identifies the region where the called destination is deployed. [3] | `us-central1`; `us-east-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.resource_id`](/docs/registry/attributes/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [4] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `cloud.availability_zone`:** Availability zones are called "zones" on Alibaba Cloud and Google Cloud. diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index b497c42715..f2bc7becac 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -19,8 +19,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cloudfoundry.app.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the application. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.app.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the application. [2] | `my-app-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.app.id`](/docs/registry/attributes/cloudfoundry.md) | string | The guid of the application. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.app.name`](/docs/registry/attributes/cloudfoundry.md) | string | The name of the application. [2] | `my-app-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `cloudfoundry.app.id`:** Application instrumentation should use the value from environment variable `VCAP_APPLICATION.application_id`. This is the same value as @@ -44,8 +44,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cloudfoundry.org.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the CloudFoundry org the application is running in. [3] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.org.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the CloudFoundry organization the app is running in. [4] | `my-org-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.org.id`](/docs/registry/attributes/cloudfoundry.md) | string | The guid of the CloudFoundry org the application is running in. [3] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.org.name`](/docs/registry/attributes/cloudfoundry.md) | string | The name of the CloudFoundry organization the app is running in. [4] | `my-org-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[3] `cloudfoundry.org.id`:** Application instrumentation should use the value from environment variable `VCAP_APPLICATION.org_id`. This is the same value as @@ -69,8 +69,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cloudfoundry.process.id`](/docs/registry/attribute/cloudfoundry.md) | string | The UID identifying the process. [5] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.process.type`](/docs/registry/attribute/cloudfoundry.md) | string | The type of process. [6] | `web` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.process.id`](/docs/registry/attributes/cloudfoundry.md) | string | The UID identifying the process. [5] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.process.type`](/docs/registry/attributes/cloudfoundry.md) | string | The type of process. [6] | `web` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[5] `cloudfoundry.process.id`:** Application instrumentation should use the value from environment variable `VCAP_APPLICATION.process_id`. It is supposed to be equal to @@ -95,8 +95,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cloudfoundry.space.id`](/docs/registry/attribute/cloudfoundry.md) | string | The guid of the CloudFoundry space the application is running in. [7] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.space.name`](/docs/registry/attribute/cloudfoundry.md) | string | The name of the CloudFoundry space the application is running in. [8] | `my-space-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.space.id`](/docs/registry/attributes/cloudfoundry.md) | string | The guid of the CloudFoundry space the application is running in. [7] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.space.name`](/docs/registry/attributes/cloudfoundry.md) | string | The name of the CloudFoundry space the application is running in. [8] | `my-space-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[7] `cloudfoundry.space.id`:** Application instrumentation should use the value from environment variable `VCAP_APPLICATION.space_id`. This is the same value as @@ -120,8 +120,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`cloudfoundry.system.id`](/docs/registry/attribute/cloudfoundry.md) | string | A guid or another name describing the event source. [9] | `cf/gorouter` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloudfoundry.system.instance.id`](/docs/registry/attribute/cloudfoundry.md) | string | A guid describing the concrete instance of the event source. [10] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.system.id`](/docs/registry/attributes/cloudfoundry.md) | string | A guid or another name describing the event source. [9] | `cf/gorouter` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloudfoundry.system.instance.id`](/docs/registry/attributes/cloudfoundry.md) | string | A guid describing the concrete instance of the event source. [10] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[9] `cloudfoundry.system.id`:** CloudFoundry defines the `source_id` in the [Loggregator v2 envelope](https://github.com/cloudfoundry/loggregator-api#v2-envelope). It is used for logs and metrics emitted by CloudFoundry. It is diff --git a/docs/registry/entities/container.md b/docs/registry/entities/container.md index cb938ff143..26851d4162 100644 --- a/docs/registry/entities/container.md +++ b/docs/registry/entities/container.md @@ -19,18 +19,18 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`container.id`](/docs/registry/attribute/container.md) | string | Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification). The UUID might be abbreviated. | `a3bf90e006b2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.image.id`](/docs/registry/attribute/container.md) | string | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [1] | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.image.name`](/docs/registry/attribute/container.md) | string | Name of the image the container was built on. | `gcr.io/opentelemetry/operator` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.image.repo_digests`](/docs/registry/attribute/container.md) | string[] | Repo digests of the container image as provided by the container runtime. [2] | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.image.tags`](/docs/registry/attribute/container.md) | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. | `["v1.27.1", "3.5.7-0"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.label.`](/docs/registry/attribute/container.md) | string | Container labels, `` being the label name, the value being the label value. [3] | `nginx` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.name`](/docs/registry/attribute/container.md) | string | Container name used by container runtime. | `opentelemetry-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.runtime`](/docs/registry/attribute/container.md) | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`oci.manifest.digest`](/docs/registry/attribute/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.command`](/docs/registry/attribute/container.md) | string | The command used to run the container (i.e. the command name). [5] | `otelcontribcol` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.command_args`](/docs/registry/attribute/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. | `["otelcontribcol", "--config", "config.yaml"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`container.command_line`](/docs/registry/attribute/container.md) | string | The full command run by the container as a single string representing the full command. | `otelcontribcol --config config.yaml` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.id`](/docs/registry/attributes/container.md) | string | Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification). The UUID might be abbreviated. | `a3bf90e006b2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.id`](/docs/registry/attributes/container.md) | string | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [1] | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.name`](/docs/registry/attributes/container.md) | string | Name of the image the container was built on. | `gcr.io/opentelemetry/operator` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.repo_digests`](/docs/registry/attributes/container.md) | string[] | Repo digests of the container image as provided by the container runtime. [2] | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.image.tags`](/docs/registry/attributes/container.md) | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. | `["v1.27.1", "3.5.7-0"]` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.label.`](/docs/registry/attributes/container.md) | string | Container labels, `` being the label name, the value being the label value. [3] | `nginx` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.name`](/docs/registry/attributes/container.md) | string | Container name used by container runtime. | `opentelemetry-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.runtime`](/docs/registry/attributes/container.md) | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`oci.manifest.digest`](/docs/registry/attributes/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command`](/docs/registry/attributes/container.md) | string | The command used to run the container (i.e. the command name). [5] | `otelcontribcol` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command_args`](/docs/registry/attributes/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. | `["otelcontribcol", "--config", "config.yaml"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`container.command_line`](/docs/registry/attributes/container.md) | string | The full command run by the container as a single string representing the full command. | `otelcontribcol --config config.yaml` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `container.image.id`:** Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect) endpoint. K8s defines a link to the container registry repository with digest `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. diff --git a/docs/registry/entities/deployment.md b/docs/registry/entities/deployment.md index 8482968b8f..95abebe612 100644 --- a/docs/registry/entities/deployment.md +++ b/docs/registry/entities/deployment.md @@ -19,7 +19,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`deployment.environment.name`](/docs/registry/attribute/deployment.md) | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`deployment.environment.name`](/docs/registry/attributes/deployment.md) | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `deployment.environment.name`:** `deployment.environment.name` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. diff --git a/docs/registry/entities/device.md b/docs/registry/entities/device.md index a63b63fded..abf3b884a8 100644 --- a/docs/registry/entities/device.md +++ b/docs/registry/entities/device.md @@ -19,10 +19,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`device.manufacturer`](/docs/registry/attribute/device.md) | string | The name of the device manufacturer [1] | `Apple`; `Samsung` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`device.model.identifier`](/docs/registry/attribute/device.md) | string | The model identifier for the device [2] | `iPhone3,4`; `SM-G920F` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`device.model.name`](/docs/registry/attribute/device.md) | string | The marketing name for the device model [3] | `iPhone 6s Plus`; `Samsung Galaxy S6` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`device.id`](/docs/registry/attribute/device.md) | string | A unique identifier representing the device [4] | `123456789012345`; `01:23:45:67:89:AB` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.manufacturer`](/docs/registry/attributes/device.md) | string | The name of the device manufacturer [1] | `Apple`; `Samsung` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.model.identifier`](/docs/registry/attributes/device.md) | string | The model identifier for the device [2] | `iPhone3,4`; `SM-G920F` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.model.name`](/docs/registry/attributes/device.md) | string | The marketing name for the device model [3] | `iPhone 6s Plus`; `Samsung Galaxy S6` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`device.id`](/docs/registry/attributes/device.md) | string | A unique identifier representing the device [4] | `123456789012345`; `01:23:45:67:89:AB` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `device.manufacturer`:** The Android OS provides this field via [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). iOS apps SHOULD hardcode the value `Apple`. diff --git a/docs/registry/entities/faas.md b/docs/registry/entities/faas.md index d13758c6e7..943b5bb408 100644 --- a/docs/registry/entities/faas.md +++ b/docs/registry/entities/faas.md @@ -19,11 +19,11 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`faas.name`](/docs/registry/attribute/faas.md) | string | The name of the single function that this runtime instance executes. [1] | `my-function`; `myazurefunctionapp/some-function-name` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.resource_id`](/docs/registry/attribute/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [2] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`faas.instance`](/docs/registry/attribute/faas.md) | string | The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. [3] | `2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`faas.max_memory`](/docs/registry/attribute/faas.md) | int | The amount of memory available to the serverless function converted to Bytes. [4] | `134217728` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`faas.version`](/docs/registry/attribute/faas.md) | string | The immutable version of the function being executed. [5] | `26`; `pinkfroid-00002` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.name`](/docs/registry/attributes/faas.md) | string | The name of the single function that this runtime instance executes. [1] | `my-function`; `myazurefunctionapp/some-function-name` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.resource_id`](/docs/registry/attributes/cloud.md) | string | Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP) [2] | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.instance`](/docs/registry/attributes/faas.md) | string | The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. [3] | `2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.max_memory`](/docs/registry/attributes/faas.md) | int | The amount of memory available to the serverless function converted to Bytes. [4] | `134217728` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`faas.version`](/docs/registry/attributes/faas.md) | string | The immutable version of the function being executed. [5] | `26`; `pinkfroid-00002` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `faas.name`:** This is the name of the function as configured/deployed on the FaaS platform and is usually different from the name of the callback diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md index ecc394a21a..3bea676809 100644 --- a/docs/registry/entities/gcp.md +++ b/docs/registry/entities/gcp.md @@ -19,9 +19,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`gcp.apphub.application.container`](/docs/registry/attribute/gcp.md) | string | The container within GCP where the AppHub application is defined. | `projects/my-container-project` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.application.id`](/docs/registry/attribute/gcp.md) | string | The name of the application as configured in AppHub. | `my-application` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.application.location`](/docs/registry/attribute/gcp.md) | string | The GCP zone or region where the application is defined. | `us-central1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.application.container`](/docs/registry/attributes/gcp.md) | string | The container within GCP where the AppHub application is defined. | `projects/my-container-project` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.application.id`](/docs/registry/attributes/gcp.md) | string | The name of the application as configured in AppHub. | `my-application` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.application.location`](/docs/registry/attributes/gcp.md) | string | The GCP zone or region where the application is defined. | `us-central1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | ## Gcp Apphub Service @@ -37,9 +37,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`gcp.apphub.service.criticality_type`](/docs/registry/attribute/gcp.md) | string | Criticality of a service indicates its importance to the business. [1] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.service.environment_type`](/docs/registry/attribute/gcp.md) | string | Environment of a service is the stage of a software lifecycle. [2] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.service.id`](/docs/registry/attribute/gcp.md) | string | The name of the service as configured in AppHub. | `my-service` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.service.criticality_type`](/docs/registry/attributes/gcp.md) | string | Criticality of a service indicates its importance to the business. [1] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.service.environment_type`](/docs/registry/attributes/gcp.md) | string | Environment of a service is the stage of a software lifecycle. [2] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.service.id`](/docs/registry/attributes/gcp.md) | string | The name of the service as configured in AppHub. | `my-service` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `gcp.apphub.service.criticality_type`:** [See AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type) @@ -81,9 +81,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`gcp.apphub.workload.criticality_type`](/docs/registry/attribute/gcp.md) | string | Criticality of a workload indicates its importance to the business. [3] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.workload.environment_type`](/docs/registry/attribute/gcp.md) | string | Environment of a workload is the stage of a software lifecycle. [4] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.apphub.workload.id`](/docs/registry/attribute/gcp.md) | string | The name of the workload as configured in AppHub. | `my-workload` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.workload.criticality_type`](/docs/registry/attributes/gcp.md) | string | Criticality of a workload indicates its importance to the business. [3] | `MISSION_CRITICAL`; `HIGH`; `MEDIUM` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.workload.environment_type`](/docs/registry/attributes/gcp.md) | string | Environment of a workload is the stage of a software lifecycle. [4] | `PRODUCTION`; `STAGING`; `TEST` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.apphub.workload.id`](/docs/registry/attributes/gcp.md) | string | The name of the workload as configured in AppHub. | `my-workload` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | **[3] `gcp.apphub.workload.criticality_type`:** [See AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type) @@ -125,8 +125,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`gcp.cloud_run.job.execution`](/docs/registry/attribute/gcp.md) | string | The name of the Cloud Run [execution](https://cloud.google.com/run/docs/managing/job-executions) being run for the Job, as set by the [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `job-name-xxxx`; `sample-job-mdw84` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.cloud_run.job.task_index`](/docs/registry/attribute/gcp.md) | int | The index for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `0`; `1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.cloud_run.job.execution`](/docs/registry/attributes/gcp.md) | string | The name of the Cloud Run [execution](https://cloud.google.com/run/docs/managing/job-executions) being run for the Job, as set by the [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `job-name-xxxx`; `sample-job-mdw84` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.cloud_run.job.task_index`](/docs/registry/attributes/gcp.md) | int | The index for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `0`; `1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | ## Gcp Gce @@ -142,8 +142,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`gcp.gce.instance.hostname`](/docs/registry/attribute/gcp.md) | string | The hostname of a GCE instance. This is the full value of the default or [custom hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). | `my-host1234.example.com`; `sample-vm.us-west1-b.c.my-project.internal` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`gcp.gce.instance.name`](/docs/registry/attribute/gcp.md) | string | The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the [default internal DNS name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). | `instance-1`; `my-vm-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.gce.instance.hostname`](/docs/registry/attributes/gcp.md) | string | The hostname of a GCE instance. This is the full value of the default or [custom hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). | `my-host1234.example.com`; `sample-vm.us-west1-b.c.my-project.internal` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`gcp.gce.instance.name`](/docs/registry/attributes/gcp.md) | string | The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the [default internal DNS name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). | `instance-1`; `my-vm-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | \ No newline at end of file diff --git a/docs/registry/entities/heroku.md b/docs/registry/entities/heroku.md index 949e503c41..4760c4f3b8 100644 --- a/docs/registry/entities/heroku.md +++ b/docs/registry/entities/heroku.md @@ -19,9 +19,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`heroku.app.id`](/docs/registry/attribute/heroku.md) | string | Unique identifier for the application | `2daa2797-e42b-4624-9322-ec3f968df4da` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`heroku.release.commit`](/docs/registry/attribute/heroku.md) | string | Commit hash for the current release | `e6134959463efd8966b20e75b913cafe3f5ec` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`heroku.release.creation_timestamp`](/docs/registry/attribute/heroku.md) | string | Time and date the release was created | `2022-10-23T18:00:42Z` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`heroku.app.id`](/docs/registry/attributes/heroku.md) | string | Unique identifier for the application | `2daa2797-e42b-4624-9322-ec3f968df4da` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`heroku.release.commit`](/docs/registry/attributes/heroku.md) | string | Commit hash for the current release | `e6134959463efd8966b20e75b913cafe3f5ec` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`heroku.release.creation_timestamp`](/docs/registry/attributes/heroku.md) | string | Time and date the release was created | `2022-10-23T18:00:42Z` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | \ No newline at end of file diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index 619d5553c9..e2af20af49 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -19,15 +19,15 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`host.arch`](/docs/registry/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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) | +| [`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) | +| [`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 @@ -88,12 +88,12 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`host.cpu.cache.l2.size`](/docs/registry/attribute/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/attribute/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/attribute/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/attribute/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/attribute/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/attribute/host.md) | string | Processor manufacturer identifier. A maximum 12-character string. [4] | `GenuineIntel` | `Opt-In` | ![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. diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index 55389ee4e3..09b454dc3f 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -19,8 +19,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.cluster.name`](/docs/registry/attribute/k8s.md) | string | The name of the cluster. | `opentelemetry-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.cluster.uid`](/docs/registry/attribute/k8s.md) | string | A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cluster.name`](/docs/registry/attributes/k8s.md) | string | The name of the cluster. | `opentelemetry-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cluster.uid`](/docs/registry/attributes/k8s.md) | string | A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `k8s.cluster.uid`:** K8s doesn't have support for obtaining a cluster ID. If this is ever added, we will recommend collecting the `k8s.cluster.uid` through the @@ -59,9 +59,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.container.name`](/docs/registry/attribute/k8s.md) | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.container.restart_count`](/docs/registry/attribute/k8s.md) | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.container.status.last_terminated_reason`](/docs/registry/attribute/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.container.name`](/docs/registry/attributes/k8s.md) | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.container.restart_count`](/docs/registry/attributes/k8s.md) | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.container.status.last_terminated_reason`](/docs/registry/attributes/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | ## K8s Cronjob @@ -77,10 +77,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.cronjob.name`](/docs/registry/attribute/k8s.md) | string | The name of the CronJob. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.cronjob.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.cronjob.annotation.`](/docs/registry/attribute/k8s.md) | string | The cronjob annotation placed on the CronJob, the `` being the annotation name, the value being the annotation value. [2] | `4`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.cronjob.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the CronJob, the `` being the label name, the value being the label value. [3] | `weekly`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.name`](/docs/registry/attributes/k8s.md) | string | The name of the CronJob. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.annotation.`](/docs/registry/attributes/k8s.md) | string | The cronjob annotation placed on the CronJob, the `` being the annotation name, the value being the annotation value. [2] | `4`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.cronjob.label.`](/docs/registry/attributes/k8s.md) | string | The label placed on the CronJob, the `` being the label name, the value being the label value. [3] | `weekly`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[2] `k8s.cronjob.annotation.`:** Examples: @@ -110,10 +110,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.daemonset.name`](/docs/registry/attribute/k8s.md) | string | The name of the DaemonSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.daemonset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.daemonset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the DaemonSet. [4] | `k8s.daemonset.annotation.replicas=1`; `k8s.daemonset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.daemonset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the DaemonSet. [5] | `k8s.daemonset.label.app=guestbook`; `k8s.daemonset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.name`](/docs/registry/attributes/k8s.md) | string | The name of the DaemonSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the DaemonSet. [4] | `k8s.daemonset.annotation.replicas=1`; `k8s.daemonset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.daemonset.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the DaemonSet. [5] | `k8s.daemonset.label.app=guestbook`; `k8s.daemonset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[4] `k8s.daemonset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. @@ -133,10 +133,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.deployment.name`](/docs/registry/attribute/k8s.md) | string | The name of the Deployment. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.deployment.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.deployment.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Deployment. [6] | `k8s.deployment.annotation.replicas=1`; `k8s.deployment.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.deployment.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Deployment. [7] | `k8s.deployment.label.app=guestbook`; `k8s.deployment.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.name`](/docs/registry/attributes/k8s.md) | string | The name of the Deployment. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the Deployment. [6] | `k8s.deployment.annotation.replicas=1`; `k8s.deployment.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.deployment.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the Deployment. [7] | `k8s.deployment.label.app=guestbook`; `k8s.deployment.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[6] `k8s.deployment.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. @@ -156,8 +156,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.hpa.name`](/docs/registry/attribute/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.hpa.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.hpa.name`](/docs/registry/attributes/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.hpa.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | ## K8s Job @@ -173,10 +173,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.job.name`](/docs/registry/attribute/k8s.md) | string | The name of the Job. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.job.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.job.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Job. [8] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.job.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Job. [9] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.name`](/docs/registry/attributes/k8s.md) | string | The name of the Job. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the Job. [8] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the Job. [9] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[8] `k8s.job.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. @@ -196,9 +196,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.namespace.name`](/docs/registry/attribute/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.namespace.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [10] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.namespace.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the Namespace. [11] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.name`](/docs/registry/attributes/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [10] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the Namespace. [11] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[10] `k8s.namespace.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. @@ -218,10 +218,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.node.name`](/docs/registry/attribute/k8s.md) | string | The name of the Node. | `node-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.node.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.node.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [12] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.node.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [13] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.name`](/docs/registry/attributes/k8s.md) | string | The name of the Node. | `node-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [12] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.label.`](/docs/registry/attributes/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [13] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[12] `k8s.node.annotation.`:** Examples: @@ -251,10 +251,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.pod.name`](/docs/registry/attribute/k8s.md) | string | The name of the Pod. | `opentelemetry-pod-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.pod.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.pod.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [14] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.pod.label.`](/docs/registry/attribute/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [15] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.name`](/docs/registry/attributes/k8s.md) | string | The name of the Pod. | `opentelemetry-pod-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [14] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.label.`](/docs/registry/attributes/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [15] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[14] `k8s.pod.annotation.`:** Examples: @@ -288,10 +288,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.replicaset.name`](/docs/registry/attribute/k8s.md) | string | The name of the ReplicaSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicaset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicaset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [16] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicaset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [17] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.name`](/docs/registry/attributes/k8s.md) | string | The name of the ReplicaSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [16] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [17] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[16] `k8s.replicaset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. @@ -311,8 +311,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.replicationcontroller.name`](/docs/registry/attribute/k8s.md) | string | The name of the replication controller. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicationcontroller.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the replication controller. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicationcontroller.name`](/docs/registry/attributes/k8s.md) | string | The name of the replication controller. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicationcontroller.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the replication controller. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | ## K8s Resourcequota @@ -328,8 +328,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.resourcequota.name`](/docs/registry/attribute/k8s.md) | string | The name of the resource quota. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.resourcequota.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.resourcequota.name`](/docs/registry/attributes/k8s.md) | string | The name of the resource quota. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.resourcequota.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the resource quota. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | ## K8s Statefulset @@ -345,10 +345,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`k8s.statefulset.name`](/docs/registry/attribute/k8s.md) | string | The name of the StatefulSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.statefulset.uid`](/docs/registry/attribute/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.statefulset.annotation.`](/docs/registry/attribute/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [18] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.statefulset.label.`](/docs/registry/attribute/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [19] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.name`](/docs/registry/attributes/k8s.md) | string | The name of the StatefulSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [18] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [19] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | **[18] `k8s.statefulset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md index 0f63a931c4..5fbdcc3e5e 100644 --- a/docs/registry/entities/os.md +++ b/docs/registry/entities/os.md @@ -19,11 +19,11 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`os.type`](/docs/registry/attribute/os.md) | string | The operating system type. | `windows`; `linux`; `darwin` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`os.build_id`](/docs/registry/attribute/os.md) | string | Unique identifier for a particular build or compilation of the operating system. [1] | `TQ3C.230805.001.B2`; `20E247`; `22621` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`os.description`](/docs/registry/attribute/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`os.name`](/docs/registry/attribute/os.md) | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`os.version`](/docs/registry/attribute/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.type`](/docs/registry/attributes/os.md) | string | The operating system type. | `windows`; `linux`; `darwin` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.build_id`](/docs/registry/attributes/os.md) | string | Unique identifier for a particular build or compilation of the operating system. [1] | `TQ3C.230805.001.B2`; `20E247`; `22621` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.description`](/docs/registry/attributes/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.name`](/docs/registry/attributes/os.md) | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`os.version`](/docs/registry/attributes/os.md) | 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` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `os.build_id`:** `build_id` values SHOULD be obtained from the following sources: diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index 02105409a4..2525e2927b 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -19,8 +19,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`otel.scope.name`](/docs/registry/attribute/otel.md) | string | The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). | `io.opentelemetry.contrib.mongodb` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`otel.scope.version`](/docs/registry/attribute/otel.md) | string | The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). | `1.0.0` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`otel.scope.name`](/docs/registry/attributes/otel.md) | string | The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). | `io.opentelemetry.contrib.mongodb` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`otel.scope.version`](/docs/registry/attributes/otel.md) | string | The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). | `1.0.0` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | \ No newline at end of file diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md index 4b841a8ae7..9217ada92e 100644 --- a/docs/registry/entities/process.md +++ b/docs/registry/entities/process.md @@ -19,15 +19,15 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`process.command`](/docs/registry/attribute/process.md) | 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` | `Conditionally Required` [1] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.command_args`](/docs/registry/attribute/process.md) | 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`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `["cmd/otecol", "--config=config.yaml"]` | `Conditionally Required` [2] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.command_line`](/docs/registry/attribute/process.md) | 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. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `C:\cmd\otecol --config="my directory\config.yaml"` | `Conditionally Required` [3] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.executable.name`](/docs/registry/attribute/process.md) | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | `Conditionally Required` [4] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.executable.path`](/docs/registry/attribute/process.md) | 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` | `Conditionally Required` [5] | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.linux.cgroup`](/docs/registry/attribute/process.md) | string | The control group associated with the process. [6] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.owner`](/docs/registry/attribute/process.md) | string | The username of the user that owns the process. | `root` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.parent_pid`](/docs/registry/attribute/process.md) | int | Parent Process identifier (PPID). | `111` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.pid`](/docs/registry/attribute/process.md) | int | Process identifier (PID). | `1234` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.command`](/docs/registry/attributes/process.md) | 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` | `Conditionally Required` [1] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.command_args`](/docs/registry/attributes/process.md) | 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`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `["cmd/otecol", "--config=config.yaml"]` | `Conditionally Required` [2] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.command_line`](/docs/registry/attributes/process.md) | 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. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `C:\cmd\otecol --config="my directory\config.yaml"` | `Conditionally Required` [3] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.executable.name`](/docs/registry/attributes/process.md) | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | `Conditionally Required` [4] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.executable.path`](/docs/registry/attributes/process.md) | 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` | `Conditionally Required` [5] | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.linux.cgroup`](/docs/registry/attributes/process.md) | string | The control group associated with the process. [6] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.owner`](/docs/registry/attributes/process.md) | string | The username of the user that owns the process. | `root` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.parent_pid`](/docs/registry/attributes/process.md) | int | Parent Process identifier (PPID). | `111` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.pid`](/docs/registry/attributes/process.md) | int | Process identifier (PID). | `1234` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `process.command`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. @@ -55,9 +55,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`process.runtime.description`](/docs/registry/attribute/process.md) | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.runtime.name`](/docs/registry/attribute/process.md) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`process.runtime.version`](/docs/registry/attribute/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.runtime.description`](/docs/registry/attributes/process.md) | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.runtime.name`](/docs/registry/attributes/process.md) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`process.runtime.version`](/docs/registry/attributes/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | \ No newline at end of file diff --git a/docs/registry/entities/service.md b/docs/registry/entities/service.md index de2d273c3c..0d5412744f 100644 --- a/docs/registry/entities/service.md +++ b/docs/registry/entities/service.md @@ -56,7 +56,7 @@ port. | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`service.version`](/docs/registry/attribute/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`service.version`](/docs/registry/attributes/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | \ No newline at end of file diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index cf1fbfd211..34a99014d9 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -19,8 +19,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`telemetry.distro.name`](/docs/registry/attribute/telemetry.md) | string | The name of the auto instrumentation agent or distribution, if used. [1] | `parts-unlimited-java` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`telemetry.distro.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the auto instrumentation agent or distribution, if used. | `1.2.3` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`telemetry.distro.name`](/docs/registry/attributes/telemetry.md) | string | The name of the auto instrumentation agent or distribution, if used. [1] | `parts-unlimited-java` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`telemetry.distro.version`](/docs/registry/attributes/telemetry.md) | string | The version string of the auto instrumentation agent or distribution, if used. | `1.2.3` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `telemetry.distro.name`:** Official auto instrumentation agents and distributions SHOULD set the `telemetry.distro.name` attribute to a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`. @@ -50,8 +50,8 @@ All custom identifiers SHOULD be stable across different versions of an implemen | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`telemetry.sdk.language`](/docs/registry/attribute/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`telemetry.sdk.version`](/docs/registry/attribute/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.language`](/docs/registry/attributes/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.version`](/docs/registry/attributes/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | --- diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index 4fa886b157..674fa49080 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -19,9 +19,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`vcs.ref.head.name`](/docs/registry/attribute/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`vcs.ref.head.revision`](/docs/registry/attribute/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [2] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`vcs.ref.type`](/docs/registry/attribute/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.ref.head.name`](/docs/registry/attributes/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.ref.head.revision`](/docs/registry/attributes/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [2] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.ref.type`](/docs/registry/attributes/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a given time. @@ -61,8 +61,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`vcs.repository.name`](/docs/registry/attribute/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [3] | `semantic-conventions`; `my-cool-repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`vcs.repository.url.full`](/docs/registry/attribute/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [4] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.repository.name`](/docs/registry/attributes/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [3] | `semantic-conventions`; `my-cool-repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`vcs.repository.url.full`](/docs/registry/attributes/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [4] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | **[3] `vcs.repository.name`:** Due to it only being the name, it can clash with forks of the same repository if collecting telemetry across multiple orgs or groups in diff --git a/docs/registry/entities/webengine.md b/docs/registry/entities/webengine.md index b53883061b..715786fd91 100644 --- a/docs/registry/entities/webengine.md +++ b/docs/registry/entities/webengine.md @@ -19,9 +19,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`webengine.name`](/docs/registry/attribute/webengine.md) | string | The name of the web engine. | `WildFly` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`webengine.description`](/docs/registry/attribute/webengine.md) | string | Additional description of the web engine (e.g. detailed version and edition information). | `WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`webengine.version`](/docs/registry/attribute/webengine.md) | string | The version of the web engine. | `21.0.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`webengine.name`](/docs/registry/attributes/webengine.md) | string | The name of the web engine. | `WildFly` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`webengine.description`](/docs/registry/attributes/webengine.md) | string | Additional description of the web engine (e.g. detailed version and edition information). | `WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`webengine.version`](/docs/registry/attributes/webengine.md) | string | The version of the web engine. | `21.0.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | \ No newline at end of file diff --git a/docs/registry/entities/zos.md b/docs/registry/entities/zos.md index bde12ade0d..3e15224c64 100644 --- a/docs/registry/entities/zos.md +++ b/docs/registry/entities/zos.md @@ -19,9 +19,9 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`zos.smf.id`](/docs/registry/attribute/zos.md) | string | The System Management Facility (SMF) Identifier uniquely identified a z/OS system within a SYSPLEX or mainframe environment and is used for system and performance analysis. | `SYS1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`zos.sysplex.name`](/docs/registry/attribute/zos.md) | string | The name of the SYSPLEX to which the z/OS system belongs too. | `SYSPLEX1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`mainframe.lpar.name`](/docs/registry/attribute/mainframe.md) | string | Name of the logical partition that hosts a systems with a mainframe operating system. | `LPAR01` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`zos.smf.id`](/docs/registry/attributes/zos.md) | string | The System Management Facility (SMF) Identifier uniquely identified a z/OS system within a SYSPLEX or mainframe environment and is used for system and performance analysis. | `SYS1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`zos.sysplex.name`](/docs/registry/attributes/zos.md) | string | The name of the SYSPLEX to which the z/OS system belongs too. | `SYSPLEX1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`mainframe.lpar.name`](/docs/registry/attributes/mainframe.md) | string | Name of the logical partition that hosts a systems with a mainframe operating system. | `LPAR01` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | \ No newline at end of file diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index e5ea816bd6..7a3836daa4 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -30,7 +30,7 @@ **Descriptive Attributes:** -{{ at.generate(desc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim }} +{{ at.generate(desc_attrs, "", "/docs/registry/attributes", e.lineage.attributes) | trim }} {%- endif %} {%- if misc_attrs | length > 0 %} @@ -38,7 +38,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ -{{ at.generate(misc_attrs, "", "/docs/registry/attribute", e.lineage.attributes) | trim}} +{{ at.generate(misc_attrs, "", "/docs/registry/attributes", e.lineage.attributes) | trim}} {%- endif %} {% endfor %} From 3dbaf112450765187209b1d8e512864548527eb0 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 16:05:30 -0400 Subject: [PATCH 21/28] Fix entity links. --- docs/cicd/cicd-metrics.md | 24 ++++++++++---------- docs/registry/entities/android.md | 2 +- docs/registry/entities/app.md | 2 +- docs/registry/entities/aws.md | 2 +- docs/registry/entities/browser.md | 2 +- docs/registry/entities/cicd.md | 2 +- docs/registry/entities/cloud.md | 2 +- docs/registry/entities/cloudfoundry.md | 2 +- docs/registry/entities/container.md | 2 +- docs/registry/entities/deployment.md | 2 +- docs/registry/entities/device.md | 2 +- docs/registry/entities/faas.md | 2 +- docs/registry/entities/gcp.md | 2 +- docs/registry/entities/heroku.md | 2 +- docs/registry/entities/host.md | 2 +- docs/registry/entities/k8s.md | 2 +- docs/registry/entities/os.md | 2 +- docs/registry/entities/otel.md | 2 +- docs/registry/entities/process.md | 2 +- docs/registry/entities/service.md | 2 +- docs/registry/entities/telemetry.md | 2 +- docs/registry/entities/vcs.md | 2 +- docs/registry/entities/webengine.md | 2 +- docs/registry/entities/zos.md | 2 +- docs/system/k8s-metrics.md | 20 ++++++++-------- templates/registry/markdown/entity_macros.j2 | 2 +- 26 files changed, 46 insertions(+), 46 deletions(-) diff --git a/docs/cicd/cicd-metrics.md b/docs/cicd/cicd-metrics.md index 453b28b396..6b6d5feadf 100644 --- a/docs/cicd/cicd-metrics.md +++ b/docs/cicd/cicd-metrics.md @@ -48,7 +48,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `cicd.pipeline.run.duration` | Histogram | `s` | Duration of a pipeline run grouped by pipeline, state and result. | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd.pipeline) | +| `cicd.pipeline.run.duration` | Histogram | `s` | Duration of a pipeline run grouped by pipeline, state and result. | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd-pipeline) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -128,7 +128,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `cicd.pipeline.run.active` | UpDownCounter | `{run}` | The number of pipeline runs currently active in the system by state. | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd.pipeline) | +| `cicd.pipeline.run.active` | UpDownCounter | `{run}` | The number of pipeline runs currently active in the system by state. | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd-pipeline) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -199,7 +199,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `cicd.pipeline.run.errors` | Counter | `{error}` | The number of errors encountered in pipeline runs (eg. compile, test failures). [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd.pipeline) | +| `cicd.pipeline.run.errors` | Counter | `{error}` | The number of errors encountered in pipeline runs (eg. compile, test failures). [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`cicd.pipeline`](/docs/registry/entities/cicd.md#cicd-pipeline) | **[1]:** There might be errors in a pipeline run that are non fatal (eg. they are suppressed) or in a parallel stage multiple stages could have a fatal error. This means that this error count might not be the same as the count of metric `cicd.pipeline.run.duration` with run result `failure`. @@ -317,7 +317,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.change.count` | UpDownCounter | `{change}` | The number of changes (pull requests/merge requests/changelists) in a repository, categorized by their state (e.g. open or merged) | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | +| `vcs.change.count` | UpDownCounter | `{change}` | The number of changes (pull requests/merge requests/changelists) in a repository, categorized by their state (e.g. open or merged) | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -374,7 +374,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.change.duration` | Gauge | `s` | The time duration a change (pull request/merge request/changelist) has been in a given state. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | +| `vcs.change.duration` | Gauge | `s` | The time duration a change (pull request/merge request/changelist) has been in a given state. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -435,7 +435,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.change.time_to_approval` | Gauge | `s` | The amount of time since its creation it took a change (pull request/merge request/changelist) to get the first approval. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo); [`vcs.ref`](/docs/registry/entities/vcs.md#vcs.ref) | +| `vcs.change.time_to_approval` | Gauge | `s` | The amount of time since its creation it took a change (pull request/merge request/changelist) to get the first approval. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo); [`vcs.ref`](/docs/registry/entities/vcs.md#vcs-ref) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -517,7 +517,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.change.time_to_merge` | Gauge | `s` | The amount of time since its creation it took a change (pull request/merge request/changelist) to get merged into the target(base) ref. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo); [`vcs.ref`](/docs/registry/entities/vcs.md#vcs.ref) | +| `vcs.change.time_to_merge` | Gauge | `s` | The amount of time since its creation it took a change (pull request/merge request/changelist) to get merged into the target(base) ref. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo); [`vcs.ref`](/docs/registry/entities/vcs.md#vcs-ref) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -635,7 +635,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.ref.count` | UpDownCounter | `{ref}` | The number of refs of type branch or tag in a repository. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | +| `vcs.ref.count` | UpDownCounter | `{ref}` | The number of refs of type branch or tag in a repository. | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -690,7 +690,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.ref.lines_delta` | Gauge | `{line}` | The number of lines added/removed in a ref (branch) relative to the ref from the `vcs.ref.base.name` attribute. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | +| `vcs.ref.lines_delta` | Gauge | `{line}` | The number of lines added/removed in a ref (branch) relative to the ref from the `vcs.ref.base.name` attribute. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo) | **[1]:** This metric should be reported for each `vcs.line_change.type` value. For example if a ref added 3 lines and removed 2 lines, instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers). @@ -786,7 +786,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.ref.revisions_delta` | Gauge | `{revision}` | The number of revisions (commits) a ref (branch) is ahead/behind the branch from the `vcs.ref.base.name` attribute [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | +| `vcs.ref.revisions_delta` | Gauge | `{revision}` | The number of revisions (commits) a ref (branch) is ahead/behind the branch from the `vcs.ref.base.name` attribute [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo) | **[1]:** This metric should be reported for each `vcs.revision_delta.direction` value. For example if branch `a` is 3 commits behind and 2 commits ahead of `trunk`, instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers) and `vcs.ref.base.name` is set to `trunk`. @@ -881,7 +881,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.ref.time` | Gauge | `s` | Time a ref (branch) created from the default branch (trunk) has existed. The `ref.type` attribute will always be `branch` | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | +| `vcs.ref.time` | Gauge | `s` | Time a ref (branch) created from the default branch (trunk) has existed. The `ref.type` attribute will always be `branch` | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -943,7 +943,7 @@ This metric is [opt-in][MetricOptIn]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `vcs.contributor.count` | Gauge | `{contributor}` | The number of unique contributors to a repository | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs.repo) | +| `vcs.contributor.count` | Gauge | `{contributor}` | The number of unique contributors to a repository | ![Development](https://img.shields.io/badge/-development-blue) | [`vcs.repo`](/docs/registry/entities/vcs.md#vcs-repo) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| diff --git a/docs/registry/entities/android.md b/docs/registry/entities/android.md index 9680b97563..1de534efaf 100644 --- a/docs/registry/entities/android.md +++ b/docs/registry/entities/android.md @@ -22,4 +22,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`android.os.api_level`](/docs/registry/attributes/android.md) | string | Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). | `33`; `32` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/registry/entities/app.md b/docs/registry/entities/app.md index a55bb13cec..2f8dc28247 100644 --- a/docs/registry/entities/app.md +++ b/docs/registry/entities/app.md @@ -40,4 +40,4 @@ For Android, examples of `app.installation.id` implementations include: More information about Android identifier best practices can be found [here](https://developer.android.com/training/articles/user-data-ids). - \ No newline at end of file + diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index 64e1381f9f..7b7a6d8619 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -78,4 +78,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[3] `aws.log.stream.arns`:** See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. - \ No newline at end of file + diff --git a/docs/registry/entities/browser.md b/docs/registry/entities/browser.md index 0db6849306..8edcc26300 100644 --- a/docs/registry/entities/browser.md +++ b/docs/registry/entities/browser.md @@ -37,4 +37,4 @@ The list of possible values is defined in the [W3C User-Agent Client Hints speci **[5] `user_agent.original`:** The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy `navigator.userAgent` API can be used. - \ No newline at end of file + diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md index 362331e19e..97fbda5f83 100644 --- a/docs/registry/entities/cicd.md +++ b/docs/registry/entities/cicd.md @@ -57,4 +57,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`cicd.worker.url.full`](/docs/registry/attributes/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker. | `https://cicd.example.org/worker/abc123` | `Recommended` If available | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/registry/entities/cloud.md b/docs/registry/entities/cloud.md index 44fc1a806a..f1175f8936 100644 --- a/docs/registry/entities/cloud.md +++ b/docs/registry/entities/cloud.md @@ -103,4 +103,4 @@ The following well-known definitions MUST be used if you set this attribute and | `tencent_cloud` | Tencent Cloud | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index f2bc7becac..f3568f0790 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -142,4 +142,4 @@ When system components are instrumented, values from the should be used. The `system.instance.id` should be set to `spec.id`. - \ No newline at end of file + diff --git a/docs/registry/entities/container.md b/docs/registry/entities/container.md index 26851d4162..ed01da64b6 100644 --- a/docs/registry/entities/container.md +++ b/docs/registry/entities/container.md @@ -46,4 +46,4 @@ An example can be found in [Example Image Manifest](https://github.com/openconta **[5] `container.command`:** If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. - \ No newline at end of file + diff --git a/docs/registry/entities/deployment.md b/docs/registry/entities/deployment.md index 95abebe612..ee92fa1992 100644 --- a/docs/registry/entities/deployment.md +++ b/docs/registry/entities/deployment.md @@ -30,4 +30,4 @@ considered to be identifying the same service: - `service.name=frontend`, `deployment.environment.name=staging`. - \ No newline at end of file + diff --git a/docs/registry/entities/device.md b/docs/registry/entities/device.md index abf3b884a8..2cc8f88b4e 100644 --- a/docs/registry/entities/device.md +++ b/docs/registry/entities/device.md @@ -48,4 +48,4 @@ More information about Android identifier best practices can be found [here](htt > See [`app.installation.id`](/docs/registry/attributes/app.md#app-installation-id) for a more privacy-preserving alternative. - \ No newline at end of file + diff --git a/docs/registry/entities/faas.md b/docs/registry/entities/faas.md index 943b5bb408..4f5016c239 100644 --- a/docs/registry/entities/faas.md +++ b/docs/registry/entities/faas.md @@ -75,4 +75,4 @@ The following well-known definitions MUST be used if you set this attribute and - **Azure Functions:** Not applicable. Do not set this attribute. - \ No newline at end of file + diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md index 3bea676809..969c13695f 100644 --- a/docs/registry/entities/gcp.md +++ b/docs/registry/entities/gcp.md @@ -146,4 +146,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`gcp.gce.instance.name`](/docs/registry/attributes/gcp.md) | string | The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the [default internal DNS name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). | `instance-1`; `my-vm-name` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/registry/entities/heroku.md b/docs/registry/entities/heroku.md index 4760c4f3b8..f3d64d2aff 100644 --- a/docs/registry/entities/heroku.md +++ b/docs/registry/entities/heroku.md @@ -24,4 +24,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`heroku.release.creation_timestamp`](/docs/registry/attributes/heroku.md) | string | Time and date the release was created | `2022-10-23T18:00:42Z` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index e2af20af49..2766341a8b 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -98,4 +98,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[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. - \ No newline at end of file + diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index 09b454dc3f..9943591adb 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -355,4 +355,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ **[19] `k8s.statefulset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. - \ No newline at end of file + diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md index 5fbdcc3e5e..426b6c2788 100644 --- a/docs/registry/entities/os.md +++ b/docs/registry/entities/os.md @@ -53,4 +53,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `zos` | IBM z/OS | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index 2525e2927b..96d1a27bb3 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -23,4 +23,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`otel.scope.version`](/docs/registry/attributes/otel.md) | string | The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP). | `1.0.0` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - \ No newline at end of file + diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md index 9217ada92e..41161e26cd 100644 --- a/docs/registry/entities/process.md +++ b/docs/registry/entities/process.md @@ -60,4 +60,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`process.runtime.version`](/docs/registry/attributes/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/registry/entities/service.md b/docs/registry/entities/service.md index 0d5412744f..e52ed20914 100644 --- a/docs/registry/entities/service.md +++ b/docs/registry/entities/service.md @@ -59,4 +59,4 @@ port. | [`service.version`](/docs/registry/attributes/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - \ No newline at end of file + diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index 34a99014d9..b6af603027 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -73,4 +73,4 @@ All custom identifiers SHOULD be stable across different versions of an implemen | `webjs` | webjs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - \ No newline at end of file + diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index 674fa49080..38181ad76b 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -72,4 +72,4 @@ the same backends. the `.git` extension. - \ No newline at end of file + diff --git a/docs/registry/entities/webengine.md b/docs/registry/entities/webengine.md index 715786fd91..40759f23d2 100644 --- a/docs/registry/entities/webengine.md +++ b/docs/registry/entities/webengine.md @@ -24,4 +24,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`webengine.version`](/docs/registry/attributes/webengine.md) | string | The version of the web engine. | `21.0.0` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/registry/entities/zos.md b/docs/registry/entities/zos.md index 3e15224c64..5326859b72 100644 --- a/docs/registry/entities/zos.md +++ b/docs/registry/entities/zos.md @@ -24,4 +24,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`mainframe.lpar.name`](/docs/registry/attributes/mainframe.md) | string | Name of the logical partition that hosts a systems with a mainframe operating system. | `LPAR01` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | - \ No newline at end of file + diff --git a/docs/system/k8s-metrics.md b/docs/system/k8s-metrics.md index 7f22a19309..aeb71a0e25 100644 --- a/docs/system/k8s-metrics.md +++ b/docs/system/k8s-metrics.md @@ -1204,7 +1204,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.cpu.limit` | Gauge | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.cpu.limit` | Gauge | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1226,7 +1226,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.cpu.request` | Gauge | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.cpu.request` | Gauge | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1248,7 +1248,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.memory.limit` | Gauge | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.memory.limit` | Gauge | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1270,7 +1270,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.memory.request` | Gauge | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.memory.request` | Gauge | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1292,7 +1292,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.storage.limit` | Gauge | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.storage.limit` | Gauge | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1314,7 +1314,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.storage.request` | Gauge | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.storage.request` | Gauge | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1336,7 +1336,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.ephemeral_storage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.ephemeral_storage.limit` | Gauge | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1358,7 +1358,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.ephemeral_storage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.ephemeral_storage.request` | Gauge | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1380,7 +1380,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.restart.count` | UpDownCounter | `{restart}` | Describes how many times the container has restarted (since the last counter reset) [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.restart.count` | UpDownCounter | `{restart}` | Describes how many times the container has restarted (since the last counter reset) [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** This value is pulled directly from the K8s API and the value can go indefinitely high and be reset to 0 at any time depending on how your kubelet is configured to prune dead containers. @@ -1406,7 +1406,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.ready` | UpDownCounter | `{container}` | Indicates whether the container is currently marked as ready to accept traffic, based on its readiness probe (1 = ready, 0 = not ready) [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s.container) | +| `k8s.container.ready` | UpDownCounter | `{container}` | Indicates whether the container is currently marked as ready to accept traffic, based on its readiness probe (1 = ready, 0 = not ready) [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** This metric SHOULD reflect the value of the `ready` field in the [K8s ContainerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstatus-v1-core). diff --git a/templates/registry/markdown/entity_macros.j2 b/templates/registry/markdown/entity_macros.j2 index 02bd4acb60..6049a98998 100644 --- a/templates/registry/markdown/entity_macros.j2 +++ b/templates/registry/markdown/entity_macros.j2 @@ -1,5 +1,5 @@ {% macro registry_url(id, registry) -%} -{{registry}}/{{ id | split_id | list | first | kebab_case }}.md#{{ id }} +{{registry}}/{{ id | split_id | list | first | kebab_case }}.md#{{ id | kebab_case }} {%- endmacro %} {% macro print_associations(associations, registry) -%} {%- for e in associations %}{%if loop.first == false %}; {% endif %}[`{{ e | trim }}`]({{registry_url(e, registry)}}){%- endfor %} From 8cd73f2cb603dcde83d40457f15d11d1869f68be Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 16:09:28 -0400 Subject: [PATCH 22/28] Fix end of line again. --- templates/registry/markdown/entity_namespace.md.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index 7a3836daa4..bfcf3d661f 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -43,3 +43,4 @@ _Note: Stable Entities MUST have attributes with a defined role._ {% endfor %} + From e14fff34ba79b719a92790ccb2d53e8455d62d44 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 5 Jun 2025 17:22:54 -0400 Subject: [PATCH 23/28] Update telemetry.sdk identifying attributes. --- docs/registry/entities/telemetry.md | 14 +++++++------- model/telemetry/entities.yaml | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index b6af603027..cb27054fa2 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -37,6 +37,7 @@ a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentatio | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| +| [`telemetry.sdk.language`](/docs/registry/attributes/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`telemetry.sdk.name`](/docs/registry/attributes/telemetry.md) | string | The name of the telemetry SDK as defined above. [2] | `opentelemetry` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | **[2] `telemetry.sdk.name`:** The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. @@ -46,13 +47,6 @@ or another suitable identifier depending on the language. The identifier `opentelemetry` is reserved and MUST NOT be used in this case. All custom identifiers SHOULD be stable across different versions of an implementation. -**Descriptive Attributes:** - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`telemetry.sdk.language`](/docs/registry/attributes/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`telemetry.sdk.version`](/docs/registry/attributes/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | - --- `telemetry.sdk.language` 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. @@ -72,5 +66,11 @@ All custom identifiers SHOULD be stable across different versions of an implemen | `swift` | swift | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `webjs` | webjs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +**Descriptive Attributes:** + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`telemetry.sdk.version`](/docs/registry/attributes/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + diff --git a/model/telemetry/entities.yaml b/model/telemetry/entities.yaml index 1d4e715584..fadfa82735 100644 --- a/model/telemetry/entities.yaml +++ b/model/telemetry/entities.yaml @@ -11,7 +11,7 @@ groups: role: identifying - ref: telemetry.sdk.language requirement_level: required - role: descriptive + role: identifying - ref: telemetry.sdk.version requirement_level: required role: descriptive From 108f822ddf580f034dc24916f12b3722f40b8c0c Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Thu, 12 Jun 2025 15:18:53 -0400 Subject: [PATCH 24/28] Regenerate docs. --- docs/registry/entities/k8s.md | 57 ++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index 9943591adb..e454e08138 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -157,8 +157,17 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.hpa.name`](/docs/registry/attributes/k8s.md) | string | The name of the horizontal pod autoscaler. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.hpa.scaletargetref.api_version`](/docs/registry/attributes/k8s.md) | string | The API version of the target resource to scale for the HorizontalPodAutoscaler. [8] | `apps/v1`; `autoscaling/v2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.hpa.scaletargetref.kind`](/docs/registry/attributes/k8s.md) | string | The kind of the target resource to scale for the HorizontalPodAutoscaler. [9] | `Deployment`; `StatefulSet` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.hpa.scaletargetref.name`](/docs/registry/attributes/k8s.md) | string | The name of the target resource to scale for the HorizontalPodAutoscaler. [10] | `my-deployment`; `my-statefulset` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.hpa.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the horizontal pod autoscaler. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +**[8] `k8s.hpa.scaletargetref.api_version`:** This maps to the `apiVersion` field in the `scaleTargetRef` of the HPA spec. + +**[9] `k8s.hpa.scaletargetref.kind`:** This maps to the `kind` field in the `scaleTargetRef` of the HPA spec. + +**[10] `k8s.hpa.scaletargetref.name`:** This maps to the `name` field in the `scaleTargetRef` of the HPA spec. + ## K8s Job **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -175,12 +184,12 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`k8s.job.name`](/docs/registry/attributes/k8s.md) | string | The name of the Job. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.job.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.job.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the Job. [8] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.job.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the Job. [9] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the Job. [11] | `k8s.job.annotation.number=1`; `k8s.job.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.job.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the Job. [12] | `k8s.job.label.jobtype=ci`; `k8s.job.label.automated=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[8] `k8s.job.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[11] `k8s.job.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. -**[9] `k8s.job.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +**[12] `k8s.job.label.`:** The `` being the label name, the value being the label value, even if the value is empty. ## K8s Namespace @@ -197,12 +206,12 @@ _Note: Stable Entities MUST have attributes with a defined role._ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`k8s.namespace.name`](/docs/registry/attributes/k8s.md) | string | The name of the namespace that the pod is running in. | `default` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.namespace.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [10] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.namespace.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the Namespace. [11] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the Namespace. [13] | `k8s.namespace.annotation.ttl=0`; `k8s.namespace.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.namespace.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the Namespace. [14] | `k8s.namespace.label.kubernetes.io/metadata.name=default`; `k8s.namespace.label.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[10] `k8s.namespace.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[13] `k8s.namespace.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. -**[11] `k8s.namespace.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +**[14] `k8s.namespace.label.`:** The `` being the label name, the value being the label value, even if the value is empty. ## K8s Node @@ -220,17 +229,17 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`k8s.node.name`](/docs/registry/attributes/k8s.md) | string | The name of the Node. | `node-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.node.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.node.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [12] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.node.label.`](/docs/registry/attributes/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [13] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. [15] | `0`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.node.label.`](/docs/registry/attributes/k8s.md) | string | The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. [16] | `arm64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[12] `k8s.node.annotation.`:** Examples: +**[15] `k8s.node.annotation.`:** Examples: - An annotation `node.alpha.kubernetes.io/ttl` with value `0` SHOULD be recorded as the `k8s.node.annotation.node.alpha.kubernetes.io/ttl` attribute with value `"0"`. - An annotation `data` with empty string value SHOULD be recorded as the `k8s.node.annotation.data` attribute with value `""`. -**[13] `k8s.node.label.`:** Examples: +**[16] `k8s.node.label.`:** Examples: - A label `kubernetes.io/arch` with value `arm64` SHOULD be recorded as the `k8s.node.label.kubernetes.io/arch` attribute with value `"arm64"`. @@ -253,10 +262,10 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`k8s.pod.name`](/docs/registry/attributes/k8s.md) | string | The name of the Pod. | `opentelemetry-pod-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.pod.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.pod.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [14] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.pod.label.`](/docs/registry/attributes/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [15] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. [17] | `true`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.pod.label.`](/docs/registry/attributes/k8s.md) | string | The label placed on the Pod, the `` being the label name, the value being the label value. [18] | `my-app`; `x64`; `` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[14] `k8s.pod.annotation.`:** Examples: +**[17] `k8s.pod.annotation.`:** Examples: - An annotation `kubernetes.io/enforce-mountable-secrets` with value `true` SHOULD be recorded as the `k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets` attribute with value `"true"`. @@ -265,7 +274,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ - An annotation `data` with empty string value SHOULD be recorded as the `k8s.pod.annotation.data` attribute with value `""`. -**[15] `k8s.pod.label.`:** Examples: +**[18] `k8s.pod.label.`:** Examples: - A label `app` with value `my-app` SHOULD be recorded as the `k8s.pod.label.app` attribute with value `"my-app"`. @@ -290,12 +299,12 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`k8s.replicaset.name`](/docs/registry/attributes/k8s.md) | string | The name of the ReplicaSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.replicaset.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicaset.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [16] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.replicaset.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [17] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the ReplicaSet. [19] | `k8s.replicaset.annotation.replicas=0`; `k8s.replicaset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.replicaset.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the ReplicaSet. [20] | `k8s.replicaset.label.app=guestbook`; `k8s.replicaset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[16] `k8s.replicaset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[19] `k8s.replicaset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. -**[17] `k8s.replicaset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +**[20] `k8s.replicaset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. ## K8s Replicationcontroller @@ -347,12 +356,12 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`k8s.statefulset.name`](/docs/registry/attributes/k8s.md) | string | The name of the StatefulSet. | `opentelemetry` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`k8s.statefulset.uid`](/docs/registry/attributes/k8s.md) | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.statefulset.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [18] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`k8s.statefulset.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [19] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.annotation.`](/docs/registry/attributes/k8s.md) | string | The annotation key-value pairs placed on the StatefulSet. [21] | `k8s.statefulset.annotation.replicas=1`; `k8s.statefulset.annotation.data=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`k8s.statefulset.label.`](/docs/registry/attributes/k8s.md) | string | The label key-value pairs placed on the StatefulSet. [22] | `k8s.statefulset.label.app=guestbook`; `k8s.statefulset.label.injected=` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) | -**[18] `k8s.statefulset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. +**[21] `k8s.statefulset.annotation.`:** The `` being the annotation name, the value being the annotation value, even if the value is empty. -**[19] `k8s.statefulset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. +**[22] `k8s.statefulset.label.`:** The `` being the label name, the value being the label value, even if the value is empty. From 77c24908d8bf2c3567cc0e76bd9d3707e3de4915 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Mon, 23 Jun 2025 18:09:03 -0400 Subject: [PATCH 25/28] regenerate registry. --- docs/registry/entities/README.md | 2 +- docs/registry/entities/otel.md | 2 +- docs/system/k8s-metrics.md | 136 +++++++++++++++---------------- docs/system/system-metrics.md | 2 +- 4 files changed, 71 insertions(+), 71 deletions(-) diff --git a/docs/registry/entities/README.md b/docs/registry/entities/README.md index ac97c14dbc..b81e1793a0 100644 --- a/docs/registry/entities/README.md +++ b/docs/registry/entities/README.md @@ -230,7 +230,7 @@ Currently, the following namespaces exist: otel.scope - Development + Deprecated Process diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index 96d1a27bb3..6eda5a7006 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -7,7 +7,7 @@ ## Otel Scope -**Status:** ![Development](https://img.shields.io/badge/-development-blue) +**Status:** ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Obsoleted. **type:** `otel.scope` diff --git a/docs/system/k8s-metrics.md b/docs/system/k8s-metrics.md index 05fcb3eb31..96b4a97ee3 100644 --- a/docs/system/k8s-metrics.md +++ b/docs/system/k8s-metrics.md @@ -124,7 +124,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.pod.uptime` | Gauge | `s` | The time the Pod has been running [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.pod` | +| `k8s.pod.uptime` | Gauge | `s` | The time the Pod has been running [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) | **[1]:** Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available. The actual accuracy would depend on the instrumentation and operating system. @@ -147,7 +147,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.pod.cpu.time` | Counter | `s` | Total CPU time consumed [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.pod` | +| `k8s.pod.cpu.time` | Counter | `s` | Total CPU time consumed [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) | **[1]:** Total CPU time consumed by the specific Pod on all available CPU cores @@ -191,7 +191,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.pod.memory.usage` | Gauge | `By` | Memory usage of the Pod [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.pod` | +| `k8s.pod.memory.usage` | Gauge | `By` | Memory usage of the Pod [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) | **[1]:** Total memory usage of the Pod @@ -213,7 +213,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.pod.network.io` | Counter | `By` | Network bytes for the Pod | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.pod` | +| `k8s.pod.network.io` | Counter | `By` | Network bytes for the Pod | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -247,7 +247,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.pod.network.errors` | Counter | `{error}` | Pod network errors | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.pod` | +| `k8s.pod.network.errors` | Counter | `{error}` | Pod network errors | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.pod`](/docs/registry/entities/k8s.md#k8s-pod) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -285,7 +285,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.status.state` | UpDownCounter | `{container}` | Describes the number of K8s containers that are currently in a given state [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.status.state` | UpDownCounter | `{container}` | Describes the number of K8s containers that are currently in a given state [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** All possible container states will be reported at each time interval to avoid missing metrics. Only the value corresponding to the current state will be non-zero. @@ -322,7 +322,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.status.reason` | UpDownCounter | `{container}` | Describes the number of K8s containers that are currently in a state for a given reason [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.status.reason` | UpDownCounter | `{container}` | Describes the number of K8s containers that are currently in a state for a given reason [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** All possible container state reasons will be reported at each time interval to avoid missing metrics. Only the value corresponding to the current state reason will be non-zero. @@ -369,7 +369,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.uptime` | Gauge | `s` | The time the Node has been running [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.uptime` | Gauge | `s` | The time the Node has been running [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | **[1]:** Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available. The actual accuracy would depend on the instrumentation and operating system. @@ -392,7 +392,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.allocatable.cpu` | UpDownCounter | `{cpu}` | Amount of cpu allocatable on the node | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.allocatable.cpu` | UpDownCounter | `{cpu}` | Amount of cpu allocatable on the node | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | @@ -412,7 +412,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.allocatable.memory` | UpDownCounter | `By` | Amount of memory allocatable on the node | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.allocatable.memory` | UpDownCounter | `By` | Amount of memory allocatable on the node | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | @@ -432,7 +432,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.allocatable.ephemeral_storage` | UpDownCounter | `By` | Amount of ephemeral-storage allocatable on the node | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.allocatable.ephemeral_storage` | UpDownCounter | `By` | Amount of ephemeral-storage allocatable on the node | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | @@ -452,7 +452,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.allocatable.pods` | UpDownCounter | `{pod}` | Amount of pods allocatable on the node | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.allocatable.pods` | UpDownCounter | `{pod}` | Amount of pods allocatable on the node | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | @@ -472,7 +472,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.cpu.time` | Counter | `s` | Total CPU time consumed [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.cpu.time` | Counter | `s` | Total CPU time consumed [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | **[1]:** Total CPU time consumed by the specific Node on all available CPU cores @@ -494,7 +494,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.cpu.usage` | Gauge | `{cpu}` | Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.cpu.usage` | Gauge | `{cpu}` | Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | **[1]:** CPU usage of the specific Node on all available CPU cores, averaged over the sample window @@ -516,7 +516,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.memory.usage` | Gauge | `By` | Memory usage of the Node [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.memory.usage` | Gauge | `By` | Memory usage of the Node [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | **[1]:** Total memory usage of the Node @@ -538,7 +538,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.network.io` | Counter | `By` | Network bytes for the Node | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.network.io` | Counter | `By` | Network bytes for the Node | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -572,7 +572,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.node.network.errors` | Counter | `{error}` | Node network errors | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.node` | +| `k8s.node.network.errors` | Counter | `{error}` | Node network errors | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.node`](/docs/registry/entities/k8s.md#k8s-node) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -610,7 +610,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.deployment.desired_pods` | UpDownCounter | `{pod}` | Number of desired replica pods in this deployment [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.deployment` | +| `k8s.deployment.desired_pods` | UpDownCounter | `{pod}` | Number of desired replica pods in this deployment [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.deployment`](/docs/registry/entities/k8s.md#k8s-deployment) | **[1]:** This metric aligns with the `replicas` field of the [K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentspec-v1-apps). @@ -633,7 +633,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.deployment.available_pods` | UpDownCounter | `{pod}` | Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.deployment` | +| `k8s.deployment.available_pods` | UpDownCounter | `{pod}` | Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.deployment`](/docs/registry/entities/k8s.md#k8s-deployment) | **[1]:** This metric aligns with the `availableReplicas` field of the [K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstatus-v1-apps). @@ -660,7 +660,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.replicaset.desired_pods` | UpDownCounter | `{pod}` | Number of desired replica pods in this replicaset [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.replicaset` | +| `k8s.replicaset.desired_pods` | UpDownCounter | `{pod}` | Number of desired replica pods in this replicaset [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.replicaset`](/docs/registry/entities/k8s.md#k8s-replicaset) | **[1]:** This metric aligns with the `replicas` field of the [K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetspec-v1-apps). @@ -683,7 +683,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.replicaset.available_pods` | UpDownCounter | `{pod}` | Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.replicaset` | +| `k8s.replicaset.available_pods` | UpDownCounter | `{pod}` | Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.replicaset`](/docs/registry/entities/k8s.md#k8s-replicaset) | **[1]:** This metric aligns with the `availableReplicas` field of the [K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetstatus-v1-apps). @@ -710,7 +710,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.replicationcontroller.desired_pods` | UpDownCounter | `{pod}` | Number of desired replica pods in this replication controller [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.replicationcontroller` | +| `k8s.replicationcontroller.desired_pods` | UpDownCounter | `{pod}` | Number of desired replica pods in this replication controller [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.replicationcontroller`](/docs/registry/entities/k8s.md#k8s-replicationcontroller) | **[1]:** This metric aligns with the `replicas` field of the [K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerspec-v1-core) @@ -733,7 +733,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.replicationcontroller.available_pods` | UpDownCounter | `{pod}` | Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.replicationcontroller` | +| `k8s.replicationcontroller.available_pods` | UpDownCounter | `{pod}` | Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.replicationcontroller`](/docs/registry/entities/k8s.md#k8s-replicationcontroller) | **[1]:** This metric aligns with the `availableReplicas` field of the [K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerstatus-v1-core) @@ -760,7 +760,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.statefulset.desired_pods` | UpDownCounter | `{pod}` | Number of desired replica pods in this statefulset [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.statefulset` | +| `k8s.statefulset.desired_pods` | UpDownCounter | `{pod}` | Number of desired replica pods in this statefulset [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.statefulset`](/docs/registry/entities/k8s.md#k8s-statefulset) | **[1]:** This metric aligns with the `replicas` field of the [K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetspec-v1-apps). @@ -783,7 +783,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.statefulset.ready_pods` | UpDownCounter | `{pod}` | The number of replica pods created for this statefulset with a Ready Condition [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.statefulset` | +| `k8s.statefulset.ready_pods` | UpDownCounter | `{pod}` | The number of replica pods created for this statefulset with a Ready Condition [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.statefulset`](/docs/registry/entities/k8s.md#k8s-statefulset) | **[1]:** This metric aligns with the `readyReplicas` field of the [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). @@ -806,7 +806,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.statefulset.current_pods` | UpDownCounter | `{pod}` | The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.statefulset` | +| `k8s.statefulset.current_pods` | UpDownCounter | `{pod}` | The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.statefulset`](/docs/registry/entities/k8s.md#k8s-statefulset) | **[1]:** This metric aligns with the `currentReplicas` field of the [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). @@ -829,7 +829,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.statefulset.updated_pods` | UpDownCounter | `{pod}` | Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.statefulset` | +| `k8s.statefulset.updated_pods` | UpDownCounter | `{pod}` | Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.statefulset`](/docs/registry/entities/k8s.md#k8s-statefulset) | **[1]:** This metric aligns with the `updatedReplicas` field of the [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). @@ -856,7 +856,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.hpa.desired_pods` | UpDownCounter | `{pod}` | Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.hpa` | +| `k8s.hpa.desired_pods` | UpDownCounter | `{pod}` | Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.hpa`](/docs/registry/entities/k8s.md#k8s-hpa) | **[1]:** This metric aligns with the `desiredReplicas` field of the [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling) @@ -879,7 +879,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.hpa.current_pods` | UpDownCounter | `{pod}` | Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.hpa` | +| `k8s.hpa.current_pods` | UpDownCounter | `{pod}` | Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.hpa`](/docs/registry/entities/k8s.md#k8s-hpa) | **[1]:** This metric aligns with the `currentReplicas` field of the [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling) @@ -902,7 +902,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.hpa.max_pods` | UpDownCounter | `{pod}` | The upper limit for the number of replica pods to which the autoscaler can scale up [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.hpa` | +| `k8s.hpa.max_pods` | UpDownCounter | `{pod}` | The upper limit for the number of replica pods to which the autoscaler can scale up [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.hpa`](/docs/registry/entities/k8s.md#k8s-hpa) | **[1]:** This metric aligns with the `maxReplicas` field of the [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling) @@ -925,7 +925,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.hpa.min_pods` | UpDownCounter | `{pod}` | The lower limit for the number of replica pods to which the autoscaler can scale down [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.hpa` | +| `k8s.hpa.min_pods` | UpDownCounter | `{pod}` | The lower limit for the number of replica pods to which the autoscaler can scale down [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.hpa`](/docs/registry/entities/k8s.md#k8s-hpa) | **[1]:** This metric aligns with the `minReplicas` field of the [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling) @@ -952,7 +952,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.daemonset.current_scheduled_nodes` | UpDownCounter | `{node}` | Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.daemonset` | +| `k8s.daemonset.current_scheduled_nodes` | UpDownCounter | `{node}` | Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.daemonset`](/docs/registry/entities/k8s.md#k8s-daemonset) | **[1]:** This metric aligns with the `currentNumberScheduled` field of the [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). @@ -975,7 +975,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.daemonset.desired_scheduled_nodes` | UpDownCounter | `{node}` | Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod) [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.daemonset` | +| `k8s.daemonset.desired_scheduled_nodes` | UpDownCounter | `{node}` | Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod) [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.daemonset`](/docs/registry/entities/k8s.md#k8s-daemonset) | **[1]:** This metric aligns with the `desiredNumberScheduled` field of the [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). @@ -998,7 +998,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.daemonset.misscheduled_nodes` | UpDownCounter | `{node}` | Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.daemonset` | +| `k8s.daemonset.misscheduled_nodes` | UpDownCounter | `{node}` | Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.daemonset`](/docs/registry/entities/k8s.md#k8s-daemonset) | **[1]:** This metric aligns with the `numberMisscheduled` field of the [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). @@ -1021,7 +1021,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.daemonset.ready_nodes` | UpDownCounter | `{node}` | Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.daemonset` | +| `k8s.daemonset.ready_nodes` | UpDownCounter | `{node}` | Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.daemonset`](/docs/registry/entities/k8s.md#k8s-daemonset) | **[1]:** This metric aligns with the `numberReady` field of the [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). @@ -1048,7 +1048,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.job.active_pods` | UpDownCounter | `{pod}` | The number of pending and actively running pods for a job [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.job` | +| `k8s.job.active_pods` | UpDownCounter | `{pod}` | The number of pending and actively running pods for a job [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.job`](/docs/registry/entities/k8s.md#k8s-job) | **[1]:** This metric aligns with the `active` field of the [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). @@ -1071,7 +1071,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.job.failed_pods` | UpDownCounter | `{pod}` | The number of pods which reached phase Failed for a job [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.job` | +| `k8s.job.failed_pods` | UpDownCounter | `{pod}` | The number of pods which reached phase Failed for a job [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.job`](/docs/registry/entities/k8s.md#k8s-job) | **[1]:** This metric aligns with the `failed` field of the [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). @@ -1094,7 +1094,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.job.successful_pods` | UpDownCounter | `{pod}` | The number of pods which reached phase Succeeded for a job [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.job` | +| `k8s.job.successful_pods` | UpDownCounter | `{pod}` | The number of pods which reached phase Succeeded for a job [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.job`](/docs/registry/entities/k8s.md#k8s-job) | **[1]:** This metric aligns with the `succeeded` field of the [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). @@ -1117,7 +1117,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.job.desired_successful_pods` | UpDownCounter | `{pod}` | The desired number of successfully finished pods the job should be run with [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.job` | +| `k8s.job.desired_successful_pods` | UpDownCounter | `{pod}` | The desired number of successfully finished pods the job should be run with [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.job`](/docs/registry/entities/k8s.md#k8s-job) | **[1]:** This metric aligns with the `completions` field of the [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).. @@ -1140,7 +1140,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.job.max_parallel_pods` | UpDownCounter | `{pod}` | The max desired number of pods the job should run at any given time [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.job` | +| `k8s.job.max_parallel_pods` | UpDownCounter | `{pod}` | The max desired number of pods the job should run at any given time [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.job`](/docs/registry/entities/k8s.md#k8s-job) | **[1]:** This metric aligns with the `parallelism` field of the [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch). @@ -1167,7 +1167,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.cronjob.active_jobs` | UpDownCounter | `{job}` | The number of actively running jobs for a cronjob [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.cronjob` | +| `k8s.cronjob.active_jobs` | UpDownCounter | `{job}` | The number of actively running jobs for a cronjob [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.cronjob`](/docs/registry/entities/k8s.md#k8s-cronjob) | **[1]:** This metric aligns with the `active` field of the [K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#cronjobstatus-v1-batch). @@ -1194,7 +1194,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.namespace.phase` | UpDownCounter | `{namespace}` | Describes number of K8s namespaces that are currently in a given phase. | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.namespace` | +| `k8s.namespace.phase` | UpDownCounter | `{namespace}` | Describes number of K8s namespaces that are currently in a given phase. | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.namespace`](/docs/registry/entities/k8s.md#k8s-namespace) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -1234,7 +1234,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.cpu.limit` | UpDownCounter | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.cpu.limit` | UpDownCounter | `{cpu}` | Maximum CPU resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1256,7 +1256,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.cpu.request` | UpDownCounter | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.cpu.request` | UpDownCounter | `{cpu}` | CPU resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1278,7 +1278,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.memory.limit` | UpDownCounter | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.memory.limit` | UpDownCounter | `By` | Maximum memory resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1300,7 +1300,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.memory.request` | UpDownCounter | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.memory.request` | UpDownCounter | `By` | Memory resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1322,7 +1322,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.storage.limit` | UpDownCounter | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.storage.limit` | UpDownCounter | `By` | Maximum storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1344,7 +1344,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.storage.request` | UpDownCounter | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.storage.request` | UpDownCounter | `By` | Storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1366,7 +1366,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.ephemeral_storage.limit` | UpDownCounter | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.ephemeral_storage.limit` | UpDownCounter | `By` | Maximum ephemeral storage resource limit set for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1388,7 +1388,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `k8s.container.ephemeral_storage.request` | UpDownCounter | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.container` | +| `k8s.container.ephemeral_storage.request` | UpDownCounter | `By` | Ephemeral storage resource requested for the container [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.container`](/docs/registry/entities/k8s.md#k8s-container) | **[1]:** See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. @@ -1464,7 +1464,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.cpu.limit.hard` | UpDownCounter | `{cpu}` | The CPU limits in a specific namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1488,7 +1488,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.cpu.limit.used` | UpDownCounter | `{cpu}` | The CPU limits in a specific namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1512,7 +1512,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.cpu.request.hard` | UpDownCounter | `{cpu}` | The CPU requests in a specific namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1536,7 +1536,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.cpu.request.used` | UpDownCounter | `{cpu}` | The CPU requests in a specific namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1560,7 +1560,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.memory.limit.hard` | UpDownCounter | `By` | The memory limits in a specific namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1584,7 +1584,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.memory.limit.used` | UpDownCounter | `By` | The memory limits in a specific namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1608,7 +1608,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.memory.request.hard` | UpDownCounter | `By` | The memory requests in a specific namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1632,7 +1632,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.memory.request.used` | UpDownCounter | `By` | The memory requests in a specific namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1656,7 +1656,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.hugepage_count.request.hard` | UpDownCounter | `{hugepage}` | The huge page requests in a specific namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1684,7 +1684,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.hugepage_count.request.used` | UpDownCounter | `{hugepage}` | The huge page requests in a specific namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1712,7 +1712,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.storage.request.hard` | UpDownCounter | `By` | The storage requests in a specific namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1746,7 +1746,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.storage.request.used` | UpDownCounter | `By` | The storage requests in a specific namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1848,7 +1848,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.ephemeral_storage.request.hard` | UpDownCounter | `By` | The sum of local ephemeral storage requests in the namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1872,7 +1872,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.ephemeral_storage.request.used` | UpDownCounter | `By` | The sum of local ephemeral storage requests in the namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1896,7 +1896,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.ephemeral_storage.limit.hard` | UpDownCounter | `By` | The sum of local ephemeral storage limits in the namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1920,7 +1920,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.ephemeral_storage.limit.used` | UpDownCounter | `By` | The sum of local ephemeral storage limits in the namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1944,7 +1944,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.object_count.hard` | UpDownCounter | `{object}` | The object count limits in a specific namespace. -The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the configured quota limit of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `hard` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). @@ -1974,7 +1974,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | | `k8s.resourcequota.object_count.used` | UpDownCounter | `{object}` | The object count limits in a specific namespace. -The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | `k8s.resourcequota` | +The value represents the current observed total usage of the resource in the namespace. [1] | ![Development](https://img.shields.io/badge/-development-blue) | [`k8s.resourcequota`](/docs/registry/entities/k8s.md#k8s-resourcequota) | **[1]:** This metric is retrieved from the `used` field of the [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md index 3513a8525d..664187e5a3 100644 --- a/docs/system/system-metrics.md +++ b/docs/system/system-metrics.md @@ -201,7 +201,7 @@ This metric is [recommended][MetricRecommended]. | Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations | | -------- | --------------- | ----------- | -------------- | --------- | ------ | -| `system.cpu.frequency` | Gauge | `Hz` | Operating frequency of the logical CPU in Hertz. | ![Development](https://img.shields.io/badge/-development-blue) | `host` | +| `system.cpu.frequency` | Gauge | `Hz` | Operating frequency of the logical CPU in Hertz. | ![Development](https://img.shields.io/badge/-development-blue) | [`host`](/docs/registry/entities/host.md#host) | | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| From a7682f5d2b7227fd511a07ce1159e67de6f219ea Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Mon, 23 Jun 2025 18:43:00 -0400 Subject: [PATCH 26/28] Add acornym filter for generated registry. --- docs/registry/entities/aws.md | 8 ++++---- docs/registry/entities/cicd.md | 8 ++++---- docs/registry/entities/cloudfoundry.md | 12 ++++++------ docs/registry/entities/gcp.md | 12 ++++++------ docs/registry/entities/host.md | 2 +- docs/registry/entities/os.md | 4 ++-- docs/registry/entities/otel.md | 4 ++-- docs/registry/entities/vcs.md | 6 +++--- docs/registry/entities/zos.md | 4 ++-- templates/registry/markdown/entity_namespace.md.j2 | 4 ++-- 10 files changed, 32 insertions(+), 32 deletions(-) diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index 7b7a6d8619..4e644778e1 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -3,9 +3,9 @@ -# Aws +# AWS -## Aws Ecs +## AWS ECS **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -36,7 +36,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `ec2` | ec2 | ![Development](https://img.shields.io/badge/-development-blue) | | `fargate` | fargate | ![Development](https://img.shields.io/badge/-development-blue) | -## Aws Eks +## AWS EKS **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -52,7 +52,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`aws.eks.cluster.arn`](/docs/registry/attributes/aws.md) | string | The ARN of an EKS cluster. | `arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -## Aws Log +## AWS Log **Status:** ![Development](https://img.shields.io/badge/-development-blue) diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md index 97fbda5f83..aac2556d23 100644 --- a/docs/registry/entities/cicd.md +++ b/docs/registry/entities/cicd.md @@ -3,9 +3,9 @@ -# Cicd +# CICD -## Cicd Pipeline +## CICD Pipeline **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -21,7 +21,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ |---|---|---|---|---|---| | [`cicd.pipeline.name`](/docs/registry/attributes/cicd.md) | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -## Cicd Pipeline Run +## CICD Pipeline Run **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -38,7 +38,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`cicd.pipeline.run.id`](/docs/registry/attributes/cicd.md) | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`cicd.pipeline.run.url.full`](/docs/registry/attributes/cicd.md) | string | The [URL](https://wikipedia.org/wiki/URL) of the pipeline run, providing the complete address in order to locate and identify the pipeline run. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -## Cicd Worker +## CICD Worker **Status:** ![Development](https://img.shields.io/badge/-development-blue) diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index f3568f0790..225b6b141b 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -3,9 +3,9 @@ -# Cloudfoundry +# CloudFoundry -## Cloudfoundry App +## CloudFoundry App **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -30,7 +30,7 @@ reported by `cf app --guid`. variable `VCAP_APPLICATION.application_name`. This is the same value as reported by `cf apps`. -## Cloudfoundry Org +## CloudFoundry Org **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -55,7 +55,7 @@ reported by `cf org --guid`. variable `VCAP_APPLICATION.org_name`. This is the same value as reported by `cf orgs`. -## Cloudfoundry Process +## CloudFoundry Process **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -81,7 +81,7 @@ For system components, this could be the actual PID. main process will be of type `web`. There can be additional background tasks or side-cars with different process types. -## Cloudfoundry Space +## CloudFoundry Space **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -106,7 +106,7 @@ reported by `cf space --guid`. variable `VCAP_APPLICATION.space_name`. This is the same value as reported by `cf spaces`. -## Cloudfoundry System +## CloudFoundry System **Status:** ![Development](https://img.shields.io/badge/-development-blue) diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md index 969c13695f..5079add62d 100644 --- a/docs/registry/entities/gcp.md +++ b/docs/registry/entities/gcp.md @@ -3,9 +3,9 @@ -# Gcp +# GCP -## Gcp Apphub Application +## GCP Apphub Application **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -23,7 +23,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`gcp.apphub.application.id`](/docs/registry/attributes/gcp.md) | string | The name of the application as configured in AppHub. | `my-application` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gcp.apphub.application.location`](/docs/registry/attributes/gcp.md) | string | The GCP zone or region where the application is defined. | `us-central1` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | -## Gcp Apphub Service +## GCP Apphub Service **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -67,7 +67,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | | `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | -## Gcp Apphub Workload +## GCP Apphub Workload **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -111,7 +111,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | `STAGING` | Staging environment. | ![Development](https://img.shields.io/badge/-development-blue) | | `TEST` | Test environment. | ![Development](https://img.shields.io/badge/-development-blue) | -## Gcp Cloud Run +## GCP Cloud Run **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -128,7 +128,7 @@ _Note: Stable Entities MUST have attributes with a defined role._ | [`gcp.cloud_run.job.execution`](/docs/registry/attributes/gcp.md) | string | The name of the Cloud Run [execution](https://cloud.google.com/run/docs/managing/job-executions) being run for the Job, as set by the [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `job-name-xxxx`; `sample-job-mdw84` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gcp.cloud_run.job.task_index`](/docs/registry/attributes/gcp.md) | int | The index for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) environment variable. | `0`; `1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | -## Gcp Gce +## GCP GCE **Status:** ![Development](https://img.shields.io/badge/-development-blue) diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index 2766341a8b..33c2ba5ffe 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -74,7 +74,7 @@ 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 CPU **Status:** ![Development](https://img.shields.io/badge/-development-blue) diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md index 426b6c2788..3ab968fedd 100644 --- a/docs/registry/entities/os.md +++ b/docs/registry/entities/os.md @@ -3,9 +3,9 @@ -# Os +# OS -## Os +## OS **Status:** ![Development](https://img.shields.io/badge/-development-blue) diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index 6eda5a7006..f6d884a37f 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -3,9 +3,9 @@ -# Otel +# OTel -## Otel Scope +## OTel Scope **Status:** ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Obsoleted. diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index 38181ad76b..94e0396236 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -3,9 +3,9 @@ -# Vcs +# VCS -## Vcs Ref +## VCS Ref **Status:** ![Development](https://img.shields.io/badge/-development-blue) @@ -47,7 +47,7 @@ revision based on the VCS system and situational context. | `branch` | [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch) | ![Development](https://img.shields.io/badge/-development-blue) | | `tag` | [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag) | ![Development](https://img.shields.io/badge/-development-blue) | -## Vcs Repo +## VCS Repo **Status:** ![Development](https://img.shields.io/badge/-development-blue) diff --git a/docs/registry/entities/zos.md b/docs/registry/entities/zos.md index 5326859b72..459489ab84 100644 --- a/docs/registry/entities/zos.md +++ b/docs/registry/entities/zos.md @@ -3,9 +3,9 @@ -# Zos +# zOS -## Zos Software +## zOS Software **Status:** ![Development](https://img.shields.io/badge/-development-blue) diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index bfcf3d661f..a9220df058 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -5,14 +5,14 @@ {%- import 'stability.j2' as stability %} {%- import 'attribute_table.j2' as at %} -# {{ ctx.id | title_case }} +# {{ ctx.id | title_case | acronym }} {% for e in ctx.groups | sort(attribute='name') %} {%- set id_attrs = e.attributes | selectattr("role", "equalto", "identifying") -%} {%- set desc_attrs = e.attributes | selectattr("role", "equalto", "descriptive") -%} {%- set misc_attrs = e.attributes | rejectattr("role", "defined") -%} -## {{ e.name | title_case }} +## {{ e.name | title_case | acronym }} **Status:** {{ stability.badge(e.stability, e.deprecated) }} From af121092b7e170ec421fe21ce013f96d85460c46 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Mon, 23 Jun 2025 18:50:28 -0400 Subject: [PATCH 27/28] updates from review. --- docs/registry/entities/android.md | 3 +- docs/registry/entities/app.md | 3 +- docs/registry/entities/aws.md | 9 ++-- docs/registry/entities/browser.md | 3 +- docs/registry/entities/cicd.md | 9 ++-- docs/registry/entities/cloud.md | 3 +- docs/registry/entities/cloudfoundry.md | 15 ++++--- docs/registry/entities/container.md | 3 +- docs/registry/entities/deployment.md | 3 +- docs/registry/entities/device.md | 3 +- docs/registry/entities/faas.md | 3 +- docs/registry/entities/gcp.md | 15 ++++--- docs/registry/entities/heroku.md | 3 +- docs/registry/entities/host.md | 6 ++- docs/registry/entities/k8s.md | 42 ++++++++++++------- docs/registry/entities/os.md | 3 +- docs/registry/entities/otel.md | 3 +- docs/registry/entities/process.md | 6 ++- docs/registry/entities/telemetry.md | 3 +- docs/registry/entities/vcs.md | 6 ++- docs/registry/entities/webengine.md | 3 +- docs/registry/entities/zos.md | 3 +- .../registry/markdown/entity_namespace.md.j2 | 3 +- 23 files changed, 102 insertions(+), 51 deletions(-) diff --git a/docs/registry/entities/android.md b/docs/registry/entities/android.md index 1de534efaf..281054690e 100644 --- a/docs/registry/entities/android.md +++ b/docs/registry/entities/android.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/app.md b/docs/registry/entities/app.md index 2f8dc28247..e4b9d75f48 100644 --- a/docs/registry/entities/app.md +++ b/docs/registry/entities/app.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/aws.md b/docs/registry/entities/aws.md index 4e644778e1..becc21278b 100644 --- a/docs/registry/entities/aws.md +++ b/docs/registry/entities/aws.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -46,7 +47,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -62,7 +64,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/browser.md b/docs/registry/entities/browser.md index 8edcc26300..fc623d3f51 100644 --- a/docs/registry/entities/browser.md +++ b/docs/registry/entities/browser.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/cicd.md b/docs/registry/entities/cicd.md index aac2556d23..da74d73d15 100644 --- a/docs/registry/entities/cicd.md +++ b/docs/registry/entities/cicd.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -31,7 +32,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -48,7 +50,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/cloud.md b/docs/registry/entities/cloud.md index f1175f8936..ce319350c2 100644 --- a/docs/registry/entities/cloud.md +++ b/docs/registry/entities/cloud.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/cloudfoundry.md b/docs/registry/entities/cloudfoundry.md index 225b6b141b..80c337f925 100644 --- a/docs/registry/entities/cloudfoundry.md +++ b/docs/registry/entities/cloudfoundry.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -40,7 +41,8 @@ as reported by `cf apps`. **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -65,7 +67,8 @@ reported by `cf orgs`. **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -91,7 +94,8 @@ tasks or side-cars with different process types. **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -116,7 +120,8 @@ reported by `cf spaces`. **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/container.md b/docs/registry/entities/container.md index ed01da64b6..10782e3d4b 100644 --- a/docs/registry/entities/container.md +++ b/docs/registry/entities/container.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/deployment.md b/docs/registry/entities/deployment.md index ee92fa1992..cfdda3340b 100644 --- a/docs/registry/entities/deployment.md +++ b/docs/registry/entities/deployment.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/device.md b/docs/registry/entities/device.md index 2cc8f88b4e..0233c829b0 100644 --- a/docs/registry/entities/device.md +++ b/docs/registry/entities/device.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/faas.md b/docs/registry/entities/faas.md index 4f5016c239..064bb4241d 100644 --- a/docs/registry/entities/faas.md +++ b/docs/registry/entities/faas.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/gcp.md b/docs/registry/entities/gcp.md index 5079add62d..511897f11d 100644 --- a/docs/registry/entities/gcp.md +++ b/docs/registry/entities/gcp.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -33,7 +34,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -77,7 +79,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -121,7 +124,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -138,7 +142,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/heroku.md b/docs/registry/entities/heroku.md index f3d64d2aff..9627793abf 100644 --- a/docs/registry/entities/heroku.md +++ b/docs/registry/entities/heroku.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/host.md b/docs/registry/entities/host.md index 33c2ba5ffe..f623758327 100644 --- a/docs/registry/entities/host.md +++ b/docs/registry/entities/host.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -84,7 +85,8 @@ privileged lookup of `host.id` is required, the value should be injected via the **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/k8s.md b/docs/registry/entities/k8s.md index e454e08138..f440e3c88b 100644 --- a/docs/registry/entities/k8s.md +++ b/docs/registry/entities/k8s.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -55,7 +56,8 @@ conflict. **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -73,7 +75,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -106,7 +109,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -129,7 +133,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -152,7 +157,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -178,7 +184,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -201,7 +208,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -223,7 +231,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -256,7 +265,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -293,7 +303,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -316,7 +327,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -333,7 +345,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -350,7 +363,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/os.md b/docs/registry/entities/os.md index 3ab968fedd..4ad1933575 100644 --- a/docs/registry/entities/os.md +++ b/docs/registry/entities/os.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/otel.md b/docs/registry/entities/otel.md index f6d884a37f..dd980aec58 100644 --- a/docs/registry/entities/otel.md +++ b/docs/registry/entities/otel.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md index 41161e26cd..43fab8888d 100644 --- a/docs/registry/entities/process.md +++ b/docs/registry/entities/process.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -51,7 +52,8 @@ _Note: Stable Entities MUST have attributes with a defined role._ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/telemetry.md b/docs/registry/entities/telemetry.md index cb27054fa2..b5bb1ccb16 100644 --- a/docs/registry/entities/telemetry.md +++ b/docs/registry/entities/telemetry.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/vcs.md b/docs/registry/entities/vcs.md index 94e0396236..936d86c3d7 100644 --- a/docs/registry/entities/vcs.md +++ b/docs/registry/entities/vcs.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| @@ -57,7 +58,8 @@ revision based on the VCS system and situational context. **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/webengine.md b/docs/registry/entities/webengine.md index 40759f23d2..2dc97e82d2 100644 --- a/docs/registry/entities/webengine.md +++ b/docs/registry/entities/webengine.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/docs/registry/entities/zos.md b/docs/registry/entities/zos.md index 459489ab84..afada7b44c 100644 --- a/docs/registry/entities/zos.md +++ b/docs/registry/entities/zos.md @@ -15,7 +15,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :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 | |---|---|---|---|---|---| diff --git a/templates/registry/markdown/entity_namespace.md.j2 b/templates/registry/markdown/entity_namespace.md.j2 index a9220df058..e0b586753d 100644 --- a/templates/registry/markdown/entity_namespace.md.j2 +++ b/templates/registry/markdown/entity_namespace.md.j2 @@ -36,7 +36,8 @@ **Other Attributes:** -_Note: Stable Entities MUST have attributes with a defined role._ +> :warning: This entity definition contains attributes without a role. +> Stable Entities MUST NOT have attributes without a defined role. {{ at.generate(misc_attrs, "", "/docs/registry/attributes", e.lineage.attributes) | trim}} {%- endif %} From b6a37caac86d5a120cd32be4d685334eae7a8ced Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Mon, 30 Jun 2025 14:13:40 -0400 Subject: [PATCH 28/28] Update .chloggen/wip-entity-registry.yaml Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> --- .chloggen/wip-entity-registry.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.chloggen/wip-entity-registry.yaml b/.chloggen/wip-entity-registry.yaml index aff984d3a3..19fb59efb2 100755 --- a/.chloggen/wip-entity-registry.yaml +++ b/.chloggen/wip-entity-registry.yaml @@ -7,7 +7,7 @@ change_type: enhancement # The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: service +component: entities # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). note: Adds support for Entity registry and Entity stabilization policies.