Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .changelog/5511.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
`opentelemetry-semantic-conventions`: update semantic conventions to v1.44.0
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

APP_CRASH_ID: Final = "app.crash.id"
"""
A unique identifier representing an instance of an end-user facing app crash.
A unique identifier representing an instance of an end user facing app crash.
Note: Its value MAY be meaningful and be used as a reference for telemetry and metadata recorded by
the same instrumentation (e.g. it is an ID generated by an external source that captured the crash).
It MAY come from a source external to the instrumentation such that it can be used to look up additional
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@

ARTIFACT_ATTESTATION_ID: Final = "artifact.attestation.id"
"""
The id of the build [software attestation](https://slsa.dev/attestation-model).
The ID of the build [software attestation](https://slsa.dev/attestation-model).
"""

ARTIFACT_FILENAME: Final = "artifact.filename"
"""
The human readable file name of the artifact, typically generated during build and release processes. Often includes the package name and version in the file name.
Note: This file name can also act as the [Package Name](https://slsa.dev/spec/v1.0/terminology#package-model)
The human readable filename of the artifact, typically generated during build and release processes. Often includes the package name and version in the filename.
Note: This filename can also act as the [Package Name](https://slsa.dev/spec/v1.0/terminology#package-model)
in cases where the package ecosystem maps accordingly.
Additionally, the artifact [can be published](https://slsa.dev/spec/v1.0/terminology#software-supply-chain)
for others, but that is not a guarantee.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0

from enum import Enum
from typing import Final

BROWSER_BRANDS: Final = "browser.brands"
Expand Down Expand Up @@ -32,3 +33,72 @@
Note: 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.
"""

BROWSER_WEB_VITAL_DELTA: Final = "browser.web_vital.delta"
"""
The delta between the current value and the last-reported value. See [delta](https://github.com/GoogleChrome/web-vitals?tab=readme-ov-file#report-only-the-delta-of-changes).
"""

BROWSER_WEB_VITAL_ID: Final = "browser.web_vital.id"
"""
A unique ID representing this particular metric instance.
"""

BROWSER_WEB_VITAL_NAME: Final = "browser.web_vital.name"
"""
Name of the web vital.
"""

BROWSER_WEB_VITAL_NAVIGATION_TYPE: Final = "browser.web_vital.navigation_type"
"""
The type of navigation, as reported by the [Navigation Timing API](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/type), with additional values reported by the web-vitals library.
"""

BROWSER_WEB_VITAL_RATING: Final = "browser.web_vital.rating"
"""
The rating of the web vital value against the "good", "needs improvement", and "poor" thresholds defined for the metric.
"""

BROWSER_WEB_VITAL_VALUE: Final = "browser.web_vital.value"
"""
Value of the web vital.
"""


class BrowserWebVitalNameValues(Enum):
CLS = "cls"
"""Cumulative Layout Shift. See [cls](https://web.dev/articles/cls)."""
LCP = "lcp"
"""Largest Contentful Paint. See [lcp](https://web.dev/articles/lcp)."""
FCP = "fcp"
"""First Contentful Paint. See [fcp](https://web.dev/articles/fcp)."""
INP = "inp"
"""Interaction to Next Paint. See [inp](https://web.dev/articles/inp)."""
TTFB = "ttfb"
"""Time to First Byte. See [ttfb](https://web.dev/articles/ttfb)."""
FID = "fid"
"""Deprecated: Replaced by Interaction to Next Paint (`inp`), which became a Core Web Vital in March 2024. See [inp](https://web.dev/articles/inp)."""


class BrowserWebVitalNavigationTypeValues(Enum):
NAVIGATE = "navigate"
"""Navigation started by clicking a link, entering a URL, form submission, or a script operation."""
RELOAD = "reload"
"""Navigation through a reload operation or a `Location.reload()` call."""
BACK_FORWARD = "back-forward"
"""Navigation through the browser's history traversal (e.g. back/forward buttons)."""
BACK_FORWARD_CACHE = "back-forward-cache"
"""Navigation restoring a page from the back/forward cache (bfcache)."""
PRERENDER = "prerender"
"""Navigation to a page that was prerendered."""
RESTORE = "restore"
"""Navigation restoring a page that was previously discarded by the browser."""


class BrowserWebVitalRatingValues(Enum):
GOOD = "good"
"""The metric value is within the "good" threshold."""
NEEDS_IMPROVEMENT = "needs-improvement"
"""The metric value is within the "needs improvement" threshold."""
POOR = "poor"
"""The metric value is within the "poor" threshold."""
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@ class CloudPlatformValues(Enum):
"""Compute on Oracle Cloud Infrastructure (OCI)."""
ORACLE_CLOUD_OKE = "oracle_cloud_oke"
"""Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI)."""
SCALEWAY_CLOUD_COMPUTE = "scaleway_cloud_compute"
"""Compute on Scaleway Cloud."""
TENCENT_CLOUD_CVM = "tencent_cloud_cvm"
"""Tencent Cloud Cloud Virtual Machine (CVM)."""
TENCENT_CLOUD_EKS = "tencent_cloud_eks"
Expand Down Expand Up @@ -146,6 +148,8 @@ class CloudProviderValues(Enum):
"""IBM Cloud."""
ORACLE_CLOUD = "oracle_cloud"
"""Oracle Cloud Infrastructure (OCI)."""
SCALEWAY_CLOUD = "scaleway_cloud"
"""Scaleway Cloud."""
TENCENT_CLOUD = "tencent_cloud"
"""Tencent Cloud."""
VULTR = "vultr"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
A guid describing the concrete instance of the event source.
Note: 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.
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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
CONTAINER_IMAGE_ID: Final = "container.image.id"
"""
Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
Note: 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/reference/api/engine/version/v1.52/#tag/Container/operation/ContainerInspect) endpoint.
Note: 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/reference/api/engine/version/v1.52/#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.
"""
Expand All @@ -70,7 +70,7 @@
CONTAINER_LABEL_TEMPLATE: Final = "container.label"
"""
Container labels, `<key>` being the label name, the value being the label value.
Note: For example, a docker container label `app` with value `nginx` SHOULD be recorded as the `container.label.app` attribute with value `"nginx"`.
Note: For example, a Docker container label `app` with value `nginx` SHOULD be recorded as the `container.label.app` attribute with value `"nginx"`.
"""

CONTAINER_LABELS_TEMPLATE: Final = "container.labels"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,12 @@
up with the parameterized placeholders present in `db.query.text`.

It is RECOMMENDED to capture the value as provided by the application
without attempting to do any case normalization.
without attempting to do any case normalization or sanitization.

Instrumentations SHOULD NOT capture `db.query.parameter.<key>` by default
since values may contain PII or sensitive details.
Application operators are expected to enable specific keys depending
on their privacy and security considerations.

`db.query.parameter.<key>` SHOULD NOT be captured on batch operations.

Expand All @@ -226,7 +231,7 @@

DB_REDIS_DATABASE_INDEX: Final = "db.redis.database_index"
"""
Deprecated: Uncategorized.
Deprecated: Replaced by `db.namespace` (string).
"""

DB_RESPONSE_RETURNED_ROWS: Final = "db.response.returned_rows"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

DEPLOYMENT_ID: Final = "deployment.id"
"""
The id of the deployment.
The ID of the deployment.
"""

DEPLOYMENT_NAME: Final = "deployment.name"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

DESTINATION_ADDRESS: Final = "destination.address"
"""
Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or UNIX domain socket name.
Note: When observed from the source side, and when communicating through an intermediary, `destination.address` SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available.
"""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@
FILE_EXTENSION: Final = "file.extension"
"""
File extension, excluding the leading dot.
Note: When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz").
Note: When the filename has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz").
"""

FILE_FORK_NAME: Final = "file.fork_name"
"""
Name of the fork. A fork is additional data associated with a filesystem object.
Note: On Linux, a resource fork is used to store additional data with a filesystem object. A file always has at least one fork for the data portion, and additional forks may exist.
On NTFS, this is analogous to an Alternate Data Stream (ADS), and the default data stream for a file is just called $DATA. Zone.Identifier is commonly used by Windows to track contents downloaded from the Internet. An ADS is typically of the form: C:\\path\\to\\filename.extension:some_fork_name, and some_fork_name is the value that should populate `fork_name`. `filename.extension` should populate `file.name`, and `extension` should populate `file.extension`. The full path, `file.path`, will include the fork name.
On NTFS, this is analogous to an Alternate Data Stream (ADS), and the default data stream for a file is just called $DATA. Zone.Identifier is commonly used by Windows to track contents downloaded from the internet. An ADS is typically of the form: C:\\path\\to\\filename.extension:some_fork_name, and some_fork_name is the value that should populate `fork_name`. `filename.extension` should populate `file.name`, and `extension` should populate `file.extension`. The full path, `file.path`, will include the fork name.
"""

FILE_GROUP_ID: Final = "file.group.id"
Expand Down Expand Up @@ -103,7 +103,7 @@

FILE_PATH: Final = "file.path"
"""
Full path to the file, including the file name. It should include the drive letter, when appropriate.
Full path to the file, including the filename. It should include the drive letter, when appropriate.
"""

FILE_SIZE: Final = "file.size"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@

HOST_NAME: Final = "host.name"
"""
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.
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.
"""

HOST_TYPE: Final = "host.type"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@
LOG_RECORD_UID: Final = "log.record.uid"
"""
A unique identifier for the Log Record.
Note: If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values.
The id MAY be an [Universally Unique Lexicographically Sortable Identifier (ULID)](https://github.com/ulid/spec), but other identifiers (e.g. UUID) may be used as needed.
Note: If an ID is provided, other log records with the same ID will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values.
The ID MAY be an [Universally Unique Lexicographically Sortable Identifier (ULID)](https://github.com/ulid/spec), but other identifiers (e.g. UUID) may be used as needed.
"""


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
MESSAGING_DESTINATION_NAME: Final = "messaging.destination.name"
"""
The message destination name.
Note: Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If
the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker.
Note: SHOULD uniquely identify a specific queue, topic or other entity within the broker. If
the broker doesn't have such notion, it SHOULD uniquely identify the broker.
"""

MESSAGING_DESTINATION_PARTITION_ID: Final = "messaging.destination.partition.id"
Expand All @@ -47,7 +47,7 @@
MESSAGING_DESTINATION_TEMPLATE: Final = "messaging.destination.template"
"""
Low cardinality representation of the messaging destination name.
Note: Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation.
Note: Destination names could be constructed from templates. An example would be a destination name involving a username or product ID. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation.
"""

MESSAGING_DESTINATION_TEMPORARY: Final = "messaging.destination.temporary"
Expand Down Expand Up @@ -82,7 +82,7 @@

MESSAGING_GCP_PUBSUB_MESSAGE_ACK_ID: Final = "messaging.gcp_pubsub.message.ack_id"
"""
The ack id for a given message.
The ack ID for a given message.
"""

MESSAGING_GCP_PUBSUB_MESSAGE_DELIVERY_ATTEMPT: Final = "messaging.gcp_pubsub.message.delivery_attempt"
Expand All @@ -95,14 +95,20 @@
The ordering key for a given message. If the attribute is not present, the message does not have an ordering key.
"""

MESSAGING_KAFKA_CLUSTER_ID: Final = "messaging.kafka.cluster.id"
"""
The Kafka cluster ID, obtained from the broker metadata exposed through the Kafka client (or AdminClient) API.
Note: The cluster ID is a unique identifier reported by the Kafka broker. It identifies the cluster independently of the individual brokers the client is configured to connect to, and remains stable even if broker hostnames, IP addresses, or ports change.
"""

MESSAGING_KAFKA_CONSUMER_GROUP: Final = "messaging.kafka.consumer.group"
"""
Deprecated: Replaced by `messaging.consumer.group.name`.
"""

MESSAGING_KAFKA_DESTINATION_PARTITION: Final = "messaging.kafka.destination.partition"
"""
Deprecated: Record string representation of the partition id in `messaging.destination.partition.id` attribute.
Deprecated: Record string representation of the partition ID in `messaging.destination.partition.id` attribute.
"""

MESSAGING_KAFKA_MESSAGE_KEY: Final = "messaging.kafka.message.key"
Expand Down Expand Up @@ -203,7 +209,7 @@

MESSAGING_ROCKETMQ_MESSAGE_KEYS: Final = "messaging.rocketmq.message.keys"
"""
Key(s) of message, another way to mark message besides message id.
Key(s) of message, another way to mark message besides message ID.
"""

MESSAGING_ROCKETMQ_MESSAGE_TAG: Final = "messaging.rocketmq.message.tag"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ class NetSockFamilyValues(Enum):
INET6 = "inet6"
"""IPv6 address."""
UNIX = "unix"
"""Unix domain socket path."""
"""UNIX domain socket path."""


@deprecated("The attribute net.transport is deprecated - Replaced by `network.transport`")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

NETWORK_CONNECTION_SUBTYPE: Final = "network.connection.subtype"
"""
This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a Wi-Fi connection.
"""

NETWORK_CONNECTION_TYPE: Final = "network.connection.type"
Expand Down Expand Up @@ -165,7 +165,7 @@ class NetworkConnectionSubtypeValues(Enum):

class NetworkConnectionTypeValues(Enum):
WIFI = "wifi"
"""wifi."""
"""Wi-Fi."""
WIRED = "wired"
"""wired."""
CELL = "cell"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"""
The service name currently associated with the database connection.
Note: The effective service name for a connection can change during its lifetime,
for example after executing sql, `ALTER SESSION`. If an instrumentation cannot reliably
for example after executing SQL, `ALTER SESSION`. If an instrumentation cannot reliably
obtain the current service name for each operation without issuing an additional
query (such as `SELECT SYS_CONTEXT`), it is RECOMMENDED to fall back to the
service name originally provided at connection establishment.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class OsTypeValues(Enum):
DRAGONFLYBSD = "dragonflybsd"
"""DragonFly BSD."""
HPUX = "hpux"
"""HP-UX (Hewlett Packard Unix)."""
"""HP-UX (Hewlett Packard UNIX)."""
AIX = "aix"
"""AIX (Advanced Interactive eXecutive)."""
SOLARIS = "solaris"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,13 @@

class OtelComponentTypeValues(Enum):
BATCHING_SPAN_PROCESSOR = "batching_span_processor"
"""The builtin SDK batching span processor."""
"""The built-in SDK batching span processor."""
SIMPLE_SPAN_PROCESSOR = "simple_span_processor"
"""The builtin SDK simple span processor."""
"""The built-in SDK simple span processor."""
BATCHING_LOG_PROCESSOR = "batching_log_processor"
"""The builtin SDK batching log record processor."""
"""The built-in SDK batching log record processor."""
SIMPLE_LOG_PROCESSOR = "simple_log_processor"
"""The builtin SDK simple log record processor."""
"""The built-in SDK simple log record processor."""
OTLP_GRPC_SPAN_EXPORTER = "otlp_grpc_span_exporter"
"""OTLP span exporter over gRPC with protobuf serialization."""
OTLP_HTTP_SPAN_EXPORTER = "otlp_http_span_exporter"
Expand All @@ -106,7 +106,7 @@ class OtelComponentTypeValues(Enum):
OTLP_HTTP_JSON_LOG_EXPORTER = "otlp_http_json_log_exporter"
"""OTLP log record exporter over HTTP with JSON serialization."""
PERIODIC_METRIC_READER = "periodic_metric_reader"
"""The builtin SDK periodically exporting metric reader."""
"""The built-in SDK periodically exporting metric reader."""
OTLP_GRPC_METRIC_EXPORTER = "otlp_grpc_metric_exporter"
"""OTLP metric exporter over gRPC with protobuf serialization."""
OTLP_HTTP_METRIC_EXPORTER = "otlp_http_metric_exporter"
Expand Down
Loading
Loading