From 6f39cae2b66c3dcd6d946e9e912960e62952d6ef Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Tue, 21 May 2024 07:37:24 -0400 Subject: [PATCH 01/22] [chore] Bump to latest specification version. (#1051) --- README.md | 2 +- docs/attributes-registry/event.md | 2 +- docs/cloud-providers/README.md | 2 +- docs/cloud-providers/aws-sdk.md | 2 +- docs/cloudevents/README.md | 2 +- docs/cloudevents/cloudevents-spans.md | 2 +- docs/database/README.md | 2 +- docs/database/cassandra.md | 2 +- docs/database/cosmosdb.md | 2 +- docs/database/couchdb.md | 2 +- docs/database/database-metrics.md | 4 ++-- docs/database/database-spans.md | 4 ++-- docs/database/dynamodb.md | 2 +- docs/database/elasticsearch.md | 2 +- docs/database/hbase.md | 2 +- docs/database/mongodb.md | 2 +- docs/database/mssql.md | 2 +- docs/database/redis.md | 2 +- docs/database/sql.md | 2 +- docs/dns/dns-metrics.md | 4 ++-- docs/dotnet/README.md | 2 +- docs/dotnet/dotnet-aspnetcore-metrics.md | 6 +++--- docs/dotnet/dotnet-dns-metrics.md | 4 ++-- docs/dotnet/dotnet-http-metrics.md | 6 +++--- docs/dotnet/dotnet-kestrel-metrics.md | 6 +++--- docs/dotnet/dotnet-signalr-metrics.md | 4 ++-- docs/exceptions/README.md | 2 +- docs/exceptions/exceptions-logs.md | 10 +++++----- docs/exceptions/exceptions-spans.md | 4 ++-- docs/faas/README.md | 2 +- docs/faas/aws-lambda.md | 6 +++--- docs/faas/faas-metrics.md | 8 ++++---- docs/faas/faas-spans.md | 2 +- docs/feature-flags/README.md | 2 +- docs/feature-flags/feature-flags-logs.md | 10 +++++----- docs/feature-flags/feature-flags-spans.md | 2 +- docs/general/attribute-naming.md | 2 +- docs/general/attribute-requirement-level.md | 4 ++-- docs/general/attributes.md | 2 +- docs/general/events.md | 8 ++++---- docs/general/logs.md | 6 +++--- docs/general/metric-requirement-level.md | 2 +- docs/general/metrics.md | 6 +++--- docs/general/session.md | 2 +- docs/general/trace-compatibility.md | 2 +- docs/general/trace.md | 4 ++-- docs/graphql/graphql-spans.md | 2 +- docs/http/README.md | 2 +- docs/http/http-metrics.md | 8 ++++---- docs/http/http-spans.md | 8 ++++---- docs/messaging/README.md | 2 +- docs/messaging/azure-messaging.md | 2 +- docs/messaging/kafka.md | 2 +- docs/messaging/messaging-metrics.md | 6 +++--- docs/messaging/messaging-spans.md | 8 ++++---- docs/messaging/rabbitmq.md | 2 +- docs/messaging/rocketmq.md | 2 +- docs/object-stores/README.md | 2 +- docs/object-stores/s3.md | 2 +- docs/resource/README.md | 8 ++++---- docs/resource/android.md | 2 +- docs/resource/browser.md | 2 +- docs/resource/cloud-provider/README.md | 2 +- docs/resource/cloud-provider/aws/README.md | 2 +- docs/resource/cloud-provider/aws/ecs.md | 2 +- docs/resource/cloud-provider/aws/eks.md | 2 +- docs/resource/cloud-provider/aws/logs.md | 2 +- docs/resource/cloud-provider/gcp/README.md | 2 +- docs/resource/cloud-provider/gcp/cloud-run.md | 2 +- docs/resource/cloud-provider/heroku.md | 2 +- docs/resource/cloud.md | 2 +- docs/resource/container.md | 2 +- docs/resource/deployment-environment.md | 2 +- docs/resource/device.md | 2 +- docs/resource/faas.md | 2 +- docs/resource/host.md | 2 +- docs/resource/k8s.md | 2 +- docs/resource/os.md | 2 +- docs/resource/process.md | 2 +- docs/resource/webengine.md | 2 +- docs/rpc/README.md | 2 +- docs/rpc/connect-rpc.md | 4 ++-- docs/rpc/grpc.md | 6 +++--- docs/rpc/json-rpc.md | 2 +- docs/rpc/rpc-metrics.md | 2 +- docs/rpc/rpc-spans.md | 2 +- docs/runtime/README.md | 2 +- docs/runtime/jvm-metrics.md | 4 ++-- docs/system/README.md | 2 +- docs/system/container-metrics.md | 2 +- docs/system/hardware-metrics.md | 2 +- docs/system/process-metrics.md | 2 +- docs/system/system-metrics.md | 2 +- docs/url/README.md | 2 +- docs/url/url.md | 2 +- internal/tools/update_specification_version.sh | 4 ++-- model/registry/event.yaml | 2 +- 97 files changed, 150 insertions(+), 150 deletions(-) diff --git a/README.md b/README.md index 0dad278343..49a895ddc6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Checks](https://github.com/open-telemetry/semantic-conventions/workflows/Checks/badge.svg?branch=main)](https://github.com/open-telemetry/semantic-conventions/actions?query=workflow%3A%22Checks%22+branch%3Amain) [![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/open-telemetry/semantic-conventions.svg?logo=opentelemetry&&color=f5a800&label=Latest%20release)](https://github.com/open-telemetry/semantic-conventions/releases/latest) -[![Specification Version](https://img.shields.io/badge/OTel_specification_version-v1.31.0-blue?logo=opentelemetry&color=f5a800)](https://github.com/open-telemetry/opentelemetry-specification/releases/tag/v1.31.0) +[![Specification Version](https://img.shields.io/badge/OTel_specification_version-v1.33.0-blue?logo=opentelemetry&color=f5a800)](https://github.com/open-telemetry/opentelemetry-specification/releases/tag/v1.33.0) Semantic Conventions define a common set of (semantic) attributes which provide meaning to data when collecting, producing and consuming it. diff --git a/docs/attributes-registry/event.md b/docs/attributes-registry/event.md index 049ae6066f..103d5fb045 100644 --- a/docs/attributes-registry/event.md +++ b/docs/attributes-registry/event.md @@ -14,4 +14,4 @@ Attributes for Events represented using Log Records. | ------------ | ------ | ----------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------- | | `event.name` | string | Identifies the class / type of event. [1] | `browser.mouse.click`; `device.app.lifecycle` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/common/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. +**[1]:** Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. diff --git a/docs/cloud-providers/README.md b/docs/cloud-providers/README.md index 863836b98d..d76cee68bf 100644 --- a/docs/cloud-providers/README.md +++ b/docs/cloud-providers/README.md @@ -15,4 +15,4 @@ Semantic conventions exist for the following cloud provider SDKs: - [AWS SDK](aws-sdk.md): Semantic Conventions for the _AWS SDK_. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/cloud-providers/aws-sdk.md b/docs/cloud-providers/aws-sdk.md index 67ff36d307..8afc3c7888 100644 --- a/docs/cloud-providers/aws-sdk.md +++ b/docs/cloud-providers/aws-sdk.md @@ -69,4 +69,4 @@ The following Semantic Conventions extend the general AWS SDK attributes for spe - [AWS DynamoDB](/docs/database/dynamodb.md): Semantic Conventions for _AWS DynamoDB_. - [AWS S3](/docs/object-stores/s3.md): Semantic Conventions for _AWS S3_. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/cloudevents/README.md b/docs/cloudevents/README.md index e97a44c391..f68ae14808 100644 --- a/docs/cloudevents/README.md +++ b/docs/cloudevents/README.md @@ -15,4 +15,4 @@ Semantic conventions for CloudEvents are defined for the following signals: - [CloudEvents Spans](cloudevents-spans.md): Semantic Conventions for modeling CloudEvents as _spans_. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/cloudevents/cloudevents-spans.md b/docs/cloudevents/cloudevents-spans.md index 65ad96f1d9..d769cb2743 100644 --- a/docs/cloudevents/cloudevents-spans.md +++ b/docs/cloudevents/cloudevents-spans.md @@ -221,4 +221,4 @@ The following attributes are applicable to creation and processing Spans. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/README.md b/docs/database/README.md index 6222376394..a78631a67a 100644 --- a/docs/database/README.md +++ b/docs/database/README.md @@ -37,4 +37,4 @@ Technology specific semantic conventions are defined for the following databases * [Redis](redis.md): Semantic Conventions for *Redis*. * [SQL](sql.md): Semantic Conventions for *SQL* databases. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/cassandra.md b/docs/database/cassandra.md index 99dd8356a3..f16a173170 100644 --- a/docs/database/cassandra.md +++ b/docs/database/cassandra.md @@ -98,4 +98,4 @@ If a parameter has no name and instead is referenced only by index, then `` -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index 849817265b..76ad96edb2 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -137,4 +137,4 @@ In addition to Cosmos DB attributes, all spans include | `db.cosmosdb.sub_status_code` | `0` | | `db.cosmosdb.request_charge` | `7.43` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/couchdb.md b/docs/database/couchdb.md index 5878196b59..40039a35b2 100644 --- a/docs/database/couchdb.md +++ b/docs/database/couchdb.md @@ -58,4 +58,4 @@ described on this page. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/database-metrics.md b/docs/database/database-metrics.md index 2165e1f27a..2adf2f24e9 100644 --- a/docs/database/database-metrics.md +++ b/docs/database/database-metrics.md @@ -67,7 +67,7 @@ This metric is [required][MetricRequired]. When this metric is reported alongside a database operation span, the metric value SHOULD be the same as the database operation span duration. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10 ]`. @@ -559,6 +559,6 @@ This metric is [recommended][MetricRecommended]. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md [MetricRequired]: /docs/general/metric-requirement-level.md#required [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/database/database-spans.md b/docs/database/database-spans.md index bd1b135e64..0f74b9231b 100644 --- a/docs/database/database-spans.md +++ b/docs/database/database-spans.md @@ -51,7 +51,7 @@ with all retries. ## Name -Database spans MUST follow the overall [guidelines for span names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#span). +Database spans MUST follow the overall [guidelines for span names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#span). @@ -233,4 +233,4 @@ More specific Semantic Conventions are defined for the following database techno * [Redis](redis.md): Semantic Conventions for *Redis*. * [SQL](sql.md): Semantic Conventions for *SQL* databases. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/dynamodb.md b/docs/database/dynamodb.md index d0f0c3aa01..8ba517a052 100644 --- a/docs/database/dynamodb.md +++ b/docs/database/dynamodb.md @@ -659,4 +659,4 @@ These attributes are filled in for all DynamoDB request types. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/elasticsearch.md b/docs/database/elasticsearch.md index 72365028d1..ccf99bdafd 100644 --- a/docs/database/elasticsearch.md +++ b/docs/database/elasticsearch.md @@ -127,4 +127,4 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original | `db.elasticsearch.cluster.name` | `"e9106fc68e3044f0b1475b04bf4ffd5f"` | | `db.instance.id` | `"instance-0000000001"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/hbase.md b/docs/database/hbase.md index 2d5c25a20d..91a42579fc 100644 --- a/docs/database/hbase.md +++ b/docs/database/hbase.md @@ -61,4 +61,4 @@ described on this page. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/mongodb.md b/docs/database/mongodb.md index 1fafccd750..592ed984e5 100644 --- a/docs/database/mongodb.md +++ b/docs/database/mongodb.md @@ -78,4 +78,4 @@ It is RECOMMENDED to capture the value as provided by the application without at | `db.query.text` | not set | | `db.operation.name` | `"findAndModify"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/mssql.md b/docs/database/mssql.md index a4d482f6a1..ec7e8e56ad 100644 --- a/docs/database/mssql.md +++ b/docs/database/mssql.md @@ -73,4 +73,4 @@ If a parameter has no name and instead is referenced only by index, then `` -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/redis.md b/docs/database/redis.md index 8407148cc2..c5f5772b4a 100644 --- a/docs/database/redis.md +++ b/docs/database/redis.md @@ -88,4 +88,4 @@ In this example, Redis is connected using a unix domain socket and therefore the | `db.query.text` | `"HMSET myhash field1 'Hello' field2 'World"` | | `db.operation.name` | `"HMSET"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/database/sql.md b/docs/database/sql.md index fe3e9d9412..7b5473a5b8 100644 --- a/docs/database/sql.md +++ b/docs/database/sql.md @@ -106,4 +106,4 @@ This is an example of attributes for a MySQL database span: | `db.query.text` | `"SELECT * FROM orders WHERE order_id = 'o4711'"` | | `db.operation.name` | `"SELECT"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/dns/dns-metrics.md b/docs/dns/dns-metrics.md index 802241e14b..0f0e32b471 100644 --- a/docs/dns/dns-metrics.md +++ b/docs/dns/dns-metrics.md @@ -24,7 +24,7 @@ This document defines semantic conventions to apply when instrumenting DNS queri This metric is optional. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -75,4 +75,4 @@ of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/dotnet/README.md b/docs/dotnet/README.md index e2c09609d8..198fc89401 100644 --- a/docs/dotnet/README.md +++ b/docs/dotnet/README.md @@ -19,4 +19,4 @@ The following metrics are currently supported: * [Kestrel](dotnet-kestrel-metrics.md): Semantic Conventions for Kestrel web server *metrics*. * [SignalR](dotnet-signalr-metrics.md): Semantic Conventions for SignalR server *metrics*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/dotnet/dotnet-aspnetcore-metrics.md b/docs/dotnet/dotnet-aspnetcore-metrics.md index 9697c2e085..414f9dee12 100644 --- a/docs/dotnet/dotnet-aspnetcore-metrics.md +++ b/docs/dotnet/dotnet-aspnetcore-metrics.md @@ -223,7 +223,7 @@ All rate-limiting metrics are reported by the `Microsoft.AspNetCore.RateLimiting ### Metric: `aspnetcore.rate_limiting.request_lease.duration` this metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -315,7 +315,7 @@ of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ### Metric: `aspnetcore.rate_limiting.request.time_in_queue` this metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -431,4 +431,4 @@ Meter name: `Microsoft.AspNetCore.RateLimiting`; Added in: ASP.NET Core 8.0 -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/dotnet/dotnet-dns-metrics.md b/docs/dotnet/dotnet-dns-metrics.md index 6b10c7e575..30a844607d 100644 --- a/docs/dotnet/dotnet-dns-metrics.md +++ b/docs/dotnet/dotnet-dns-metrics.md @@ -20,7 +20,7 @@ This article defines semantic conventions for DNS metrics emitted by .NET. ### Metric: `dns.lookup.duration` This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -54,4 +54,4 @@ for more details. |---|---| | `_OTHER` | A fallback error value to be used when the instrumentation doesn't define a custom value. | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/dotnet/dotnet-http-metrics.md b/docs/dotnet/dotnet-http-metrics.md index a203d433a6..bcbda5abce 100644 --- a/docs/dotnet/dotnet-http-metrics.md +++ b/docs/dotnet/dotnet-http-metrics.md @@ -77,7 +77,7 @@ Notes: ### Metric: `http.client.connection.duration` this metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. @@ -106,7 +106,7 @@ of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. ### Metric: `http.client.request.time_in_queue` this metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -217,4 +217,4 @@ Notes: - Opt-in `server.address` and `server.port` attributes are not reported - Metric added in ASP.NET Core 8.0 -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/dotnet/dotnet-kestrel-metrics.md b/docs/dotnet/dotnet-kestrel-metrics.md index 7a8eb3d580..9a4573ea60 100644 --- a/docs/dotnet/dotnet-kestrel-metrics.md +++ b/docs/dotnet/dotnet-kestrel-metrics.md @@ -108,7 +108,7 @@ different processes could be listening on TCP port 12345 and UDP port 12345. ## Metric: `kestrel.connection.duration` this metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. @@ -513,7 +513,7 @@ different processes could be listening on TCP port 12345 and UDP port 12345. ## Metric: `kestrel.tls_handshake.duration` this metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -675,4 +675,4 @@ different processes could be listening on TCP port 12345 and UDP port 12345. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/dotnet/dotnet-signalr-metrics.md b/docs/dotnet/dotnet-signalr-metrics.md index 41fc05947c..45a8e71082 100644 --- a/docs/dotnet/dotnet-signalr-metrics.md +++ b/docs/dotnet/dotnet-signalr-metrics.md @@ -18,7 +18,7 @@ This article defines semantic conventions for SignalR metrics emitted by .NET co ## Metric: `signalr.server.connection.duration` this metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. @@ -137,4 +137,4 @@ of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/exceptions/README.md b/docs/exceptions/README.md index 91f6c88305..73b51078a4 100644 --- a/docs/exceptions/README.md +++ b/docs/exceptions/README.md @@ -16,4 +16,4 @@ Semantic conventions for Exceptions are defined for the following signals: * [Exceptions on spans](exceptions-spans.md): Semantic Conventions for Exceptions associated with *spans*. * [Exceptions in logs](exceptions-logs.md): Semantic Conventions for Exceptions recorded in *logs*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/exceptions/exceptions-logs.md b/docs/exceptions/exceptions-logs.md index b620bab699..53f5389b19 100644 --- a/docs/exceptions/exceptions-logs.md +++ b/docs/exceptions/exceptions-logs.md @@ -7,8 +7,8 @@ linkTitle: Logs **Status**: [Stable][DocumentStatus] This document defines semantic conventions for recording exceptions on -[logs](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/bridge-api.md#emit-a-logrecord) and [events](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/event-api.md#emit-event) -emitted through the [Logger API](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/bridge-api.md#logger). +[logs](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/bridge-api.md#emit-a-logrecord) and [events](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/event-api.md#emit-event) +emitted through the [Logger API](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/bridge-api.md#logger). @@ -21,7 +21,7 @@ emitted through the [Logger API](https://github.com/open-telemetry/opentelemetry ## Recording an Exception Exceptions SHOULD be recorded as attributes on the -[LogRecord](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/data-model.md#log-and-event-record-definition) passed to the [Logger](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/bridge-api.md#logger) emit +[LogRecord](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/data-model.md#log-and-event-record-definition) passed to the [Logger](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/bridge-api.md#logger) emit operations. Exceptions MAY be recorded on "logs" or "events" depending on the context. @@ -33,7 +33,7 @@ the language runtime. ## Attributes The table below indicates which attributes should be added to the -[LogRecord](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/data-model.md#log-and-event-record-definition) and their types. +[LogRecord](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/data-model.md#log-and-event-record-definition) and their types. @@ -65,4 +65,4 @@ The table below indicates which attributes should be added to the Same as [Trace Semantic Conventions for Exceptions - Stacktrace Representation](exceptions-spans.md#stacktrace-representation). -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/exceptions/exceptions-spans.md b/docs/exceptions/exceptions-spans.md index 21bd7ecaf5..45a75d400d 100644 --- a/docs/exceptions/exceptions-spans.md +++ b/docs/exceptions/exceptions-spans.md @@ -23,7 +23,7 @@ An exception SHOULD be recorded as an `Event` on the span during which it occurr The name of the event MUST be `"exception"`. A typical template for an auto-instrumentation implementing this semantic convention -using an [API-provided `recordException` method](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#record-exception) +using an [API-provided `recordException` method](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#record-exception) could look like this (pseudo-Java): ```java @@ -121,4 +121,4 @@ grained information from a stacktrace, if necessary. [telemetry-sdk-resource]: ../resource/README.md#telemetry-sdk [erlang-stacktrace]: https://www.erlang.org/doc/man/erl_error.html#format_exception-3 [elixir-stacktrace]: https://hexdocs.pm/elixir/1.14.3/Exception.html#format/3 -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/faas/README.md b/docs/faas/README.md index 760672a0f6..24457f37ea 100644 --- a/docs/faas/README.md +++ b/docs/faas/README.md @@ -20,4 +20,4 @@ Technology specific semantic conventions are defined for the following FaaS serv * [AWS Lambda](aws-lambda.md): Semantic Conventions for *AWS Lambda*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/faas/aws-lambda.md b/docs/faas/aws-lambda.md index 663db00384..1a22179635 100644 --- a/docs/faas/aws-lambda.md +++ b/docs/faas/aws-lambda.md @@ -166,7 +166,7 @@ be ` process`. If there are multiple sources in the batch, the nam For every message in the event, the [message system attributes][] (not message attributes, which are provided by the user) SHOULD be checked for the key `AWSTraceHeader`. If it is present, an OpenTelemetry `Context` SHOULD be -parsed from the value of the attribute using the [AWS X-Ray Propagator](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/context/api-propagators.md) and +parsed from the value of the attribute using the [AWS X-Ray Propagator](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/context/api-propagators.md) and added as a link to the span. This means the span may have as many links as messages in the batch. See [compatibility](../../supplementary-guidelines/compatibility/aws.md#context-propagation) for more info. @@ -179,7 +179,7 @@ See [compatibility](../../supplementary-guidelines/compatibility/aws.md#context- For the SQS message span, the name MUST be ` process`. The parent MUST be the `CONSUMER` span corresponding to the SQS event. The [message system attributes][] (not message attributes, which are provided by the user) SHOULD be checked for the key `AWSTraceHeader`. If it is present, an OpenTelemetry `Context` SHOULD be -parsed from the value of the attribute using the [AWS X-Ray Propagator](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/context/api-propagators.md) and +parsed from the value of the attribute using the [AWS X-Ray Propagator](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/context/api-propagators.md) and added as a link to the span. See [compatibility](../../supplementary-guidelines/compatibility/aws.md#context-propagation) for more info. @@ -303,4 +303,4 @@ because it is not available until function invocation. [environment variables]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/faas/faas-metrics.md b/docs/faas/faas-metrics.md index 0741301522..6cf92184c1 100644 --- a/docs/faas/faas-metrics.md +++ b/docs/faas/faas-metrics.md @@ -46,7 +46,7 @@ The following metrics are recorded by the FaaS instance. This metric is [recommended][MetricRecommended]. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advice) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advice) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -99,7 +99,7 @@ of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 This metric is [recommended][MetricRecommended]. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advice) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advice) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -397,7 +397,7 @@ This metric is [recommended][MetricRecommended]. This metric is [recommended][MetricRecommended]. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advice) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advice) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -507,5 +507,5 @@ FaaS providers. This list is not exhaustive. * [Google CloudFunctions Metrics](https://cloud.google.com/monitoring/api/metrics_gcp#gcp-cloudfunctions) * [OpenFaas Metrics](https://docs.openfaas.com/architecture/metrics/) -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/faas/faas-spans.md b/docs/faas/faas-spans.md index 02421853e6..3726bdcd6c 100644 --- a/docs/faas/faas-spans.md +++ b/docs/faas/faas-spans.md @@ -336,4 +336,4 @@ This example shows the FaaS attributes for a (non-FaaS) process hosted on Google | Resource | `faas.instance` | n/a | `"my-lambda-function:instance-0001"` | | Resource | `cloud.resource_id` | n/a | `"arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/feature-flags/README.md b/docs/feature-flags/README.md index 38acc00d52..f5e938d2a6 100644 --- a/docs/feature-flags/README.md +++ b/docs/feature-flags/README.md @@ -17,4 +17,4 @@ Semantic conventions for feature flags are defined for the following signals: * [Feature Flags in Spans](feature-flags-spans.md): Semantic Conventions for recording feature flags in *spans*. * [Feature Flags in Logs](feature-flags-logs.md): Semantic Conventions for recording feature flags in *logs*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/feature-flags/feature-flags-logs.md b/docs/feature-flags/feature-flags-logs.md index cec075b436..2873ed5721 100644 --- a/docs/feature-flags/feature-flags-logs.md +++ b/docs/feature-flags/feature-flags-logs.md @@ -7,8 +7,8 @@ linkTitle: Logs **Status**: [Experimental][DocumentStatus] This document defines semantic conventions for recording feature flag evaluations as -a [log record](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/data-model.md#log-and-event-record-definition) emitted through the -[Logger API](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/bridge-api.md#emit-a-logrecord). +a [log record](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/data-model.md#log-and-event-record-definition) emitted through the +[Logger API](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/bridge-api.md#emit-a-logrecord). This is useful when a flag is evaluated outside of a transaction context such as when the application loads or on a timer. To record a flag evaluation as a part of a transaction context, @@ -28,14 +28,14 @@ section of the trace semantic convention for feature flag evaluations. ## Recording an Evaluation Feature flag evaluations SHOULD be recorded as attributes on the -[LogRecord](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/data-model.md#log-and-event-record-definition) passed to the [Logger](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/bridge-api.md#logger) emit +[LogRecord](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/data-model.md#log-and-event-record-definition) passed to the [Logger](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/bridge-api.md#logger) emit operations. Evaluations MAY be recorded on "logs" or "events" depending on the context. ## Attributes The table below indicates which attributes should be added to the -[LogRecord](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/logs/data-model.md#log-and-event-record-definition) and their types. +[LogRecord](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/logs/data-model.md#log-and-event-record-definition) and their types. @@ -69,4 +69,4 @@ should be determined by the implementer. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/feature-flags/feature-flags-spans.md b/docs/feature-flags/feature-flags-spans.md index c84697bc44..c26d7f5976 100644 --- a/docs/feature-flags/feature-flags-spans.md +++ b/docs/feature-flags/feature-flags-spans.md @@ -73,4 +73,4 @@ should be determined by the implementer. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/attribute-naming.md b/docs/general/attribute-naming.md index 57a99b62cd..891c9df1ad 100644 --- a/docs/general/attribute-naming.md +++ b/docs/general/attribute-naming.md @@ -157,4 +157,4 @@ Any additions to the `otel.*` namespace MUST be approved as part of OpenTelemetry specification. [DocumentStatus]: - https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md + https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/attribute-requirement-level.md b/docs/general/attribute-requirement-level.md index d16d073372..c70a2705b7 100644 --- a/docs/general/attribute-requirement-level.md +++ b/docs/general/attribute-requirement-level.md @@ -21,7 +21,7 @@ _This section applies to Log, Metric, Resource, and Span, and describes requirement levels for attributes defined in semantic conventions._ Attribute requirement levels apply to the -[instrumentation library](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/glossary.md#instrumentation-library). +[instrumentation library](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/glossary.md#instrumentation-library). The following attribute requirement levels are specified: @@ -124,4 +124,4 @@ Here are several examples of expensive operations to be avoided by default: `Content-Length` header is not available [DocumentStatus]: - https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md + https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/attributes.md b/docs/general/attributes.md index 0f11da2051..a3030171ec 100644 --- a/docs/general/attributes.md +++ b/docs/general/attributes.md @@ -516,4 +516,4 @@ about the span. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/events.md b/docs/general/events.md index 0978e5b1da..a96030d823 100644 --- a/docs/general/events.md +++ b/docs/general/events.md @@ -45,7 +45,7 @@ structure and semantics will also be defined. |---|---|---|---|---|---| | [`event.name`](/docs/attributes-registry/event.md) | string | Identifies the class / type of event. [1] | `browser.mouse.click`; `device.app.lifecycle` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/common/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. +**[1]:** Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. @@ -58,7 +58,7 @@ structure and semantics will also be defined. ### General event semantics * An event MUST have an `event.name` attribute that uniquely identifies the event. -* It MAY have [standard](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/common#attribute) +* It MAY have [standard](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common#attribute) attributes that provide additional context about the event. * It MAY contain a _payload_ (data) that describes the specific details of the named event. @@ -73,7 +73,7 @@ structure and semantics will also be defined. Recommendations for defining events: * Use the _payload_ (data) to represent the details of the event instead of a - collection of [standard](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/common#attribute) + collection of [standard](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common#attribute) attributes. * Events SHOULD be generated / produced / recorded using the [Event API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/event-api.md) @@ -109,4 +109,4 @@ such that the name identifies the event structurally. It is also recommended tha the event names have low-cardinality, so care must be taken to use fields that identify the class of Events but not the instance of the Event. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/logs.md b/docs/general/logs.md index bf55af5674..68ebd60442 100644 --- a/docs/general/logs.md +++ b/docs/general/logs.md @@ -28,7 +28,7 @@ The following semantic conventions for logs are defined: * [Feature Flags](/docs/feature-flags/feature-flags-logs.md): Semantic attributes that may be used in describing feature flag evaluations in logs. Apart from semantic conventions for logs, [events](events.md), [traces](trace.md), and [metrics](metrics.md), -OpenTelemetry also defines the concept of overarching [Resources](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/resource/sdk.md) with their own +OpenTelemetry also defines the concept of overarching [Resources](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/resource/sdk.md) with their own [Resource Semantic Conventions](/docs/resource/README.md). ## General log identification attributes @@ -61,7 +61,7 @@ The id MAY be an [Universally Unique Lexicographically Sortable Identifier (ULID This section describes attributes for log media in OpenTelemetry. Log media are mechanisms by which logs are transmitted. Types of media include files, streams, network protocols, and os-specific logging services such as journald and Windows Event Log. -**Note:** The OpenTelemetry specification defines a [Resource](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/resource/sdk.md#resource-sdk) as `an immutable representation of the entity producing telemetry`. +**Note:** The OpenTelemetry specification defines a [Resource](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/resource/sdk.md#resource-sdk) as `an immutable representation of the entity producing telemetry`. The following attributes do not describe entities that produce telemetry. Rather, they describe mechanisms of log transmission. As such, these should be recorded as Log Record attributes when applicable. They should not be recorded as Resource attributes. @@ -118,4 +118,4 @@ As such, these should be recorded as Log Record attributes when applicable. They -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/metric-requirement-level.md b/docs/general/metric-requirement-level.md index 8372acdbca..822d82d930 100644 --- a/docs/general/metric-requirement-level.md +++ b/docs/general/metric-requirement-level.md @@ -40,4 +40,4 @@ Instrumentation that doesn't support configuration MUST NOT emit `Opt-In` metric This attribute requirement level is recommended for metrics that are particularly expensive to retrieve or might pose a security or privacy risk. These should therefore only be enabled deliberately by a user making an informed decision. [DocumentStatus]: - https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md + https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/metrics.md b/docs/general/metrics.md index fb96d14606..b0aeeb3385 100644 --- a/docs/general/metrics.md +++ b/docs/general/metrics.md @@ -40,7 +40,7 @@ The following semantic conventions surrounding metrics are defined: * [Runtime Environment](/docs/runtime/README.md#metrics): For runtime environment metrics. Apart from semantic conventions for metrics, [traces](trace.md), [logs](logs.md), and [events](events.md), OpenTelemetry also -defines the concept of overarching [Resources](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/resource/sdk.md) with +defines the concept of overarching [Resources](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/resource/sdk.md) with their own [Resource Semantic Conventions](/docs/resource/README.md). ## General Guidelines @@ -121,7 +121,7 @@ usable. When building components that interoperate between OpenTelemetry and a system using the OpenMetrics exposition format, use the -[OpenMetrics Guidelines](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/compatibility/prometheus_and_openmetrics.md). +[OpenMetrics Guidelines](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/compatibility/prometheus_and_openmetrics.md). ### Naming rules for Counters and UpDownCounters @@ -260,4 +260,4 @@ For example, if you are tracking `active_requests` with an `UpDownCounter`, and request starts and decrementing it each time a request ends, then any attributes which are not yet available when incrementing the counter at request start should not be used when decrementing the counter at request end. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/session.md b/docs/general/session.md index 4e83c6984f..ffe1d91611 100644 --- a/docs/general/session.md +++ b/docs/general/session.md @@ -35,4 +35,4 @@ backends can link the two sessions. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/trace-compatibility.md b/docs/general/trace-compatibility.md index 2385897c09..1c6c334490 100644 --- a/docs/general/trace-compatibility.md +++ b/docs/general/trace-compatibility.md @@ -53,4 +53,4 @@ between a child Span and a parent Span, as defined by -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/general/trace.md b/docs/general/trace.md index ca9d88fa88..d3feb0967b 100644 --- a/docs/general/trace.md +++ b/docs/general/trace.md @@ -34,7 +34,7 @@ The following semantic conventions for spans are defined: * [RPC/RMI](/docs/rpc/rpc-spans.md): For remote procedure call (e.g., gRPC) spans. Apart from semantic conventions for traces, [metrics](metrics.md), [logs](logs.md), and [events](events.md), -OpenTelemetry also defines the concept of overarching [Resources](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/resource/sdk.md) with their own +OpenTelemetry also defines the concept of overarching [Resources](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/resource/sdk.md) with their own [Resource Semantic Conventions](/docs/resource/README.md). -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/graphql/graphql-spans.md b/docs/graphql/graphql-spans.md index baf9118d47..54f105209e 100644 --- a/docs/graphql/graphql-spans.md +++ b/docs/graphql/graphql-spans.md @@ -46,4 +46,4 @@ MAY be used as span name. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/http/README.md b/docs/http/README.md index e6b4bb4f20..3bef999a0e 100644 --- a/docs/http/README.md +++ b/docs/http/README.md @@ -44,4 +44,4 @@ Semantic conventions for HTTP are defined for the following signals: * [HTTP Spans](http-spans.md): Semantic Conventions for HTTP client and server *spans*. * [HTTP Metrics](http-metrics.md): Semantic Conventions for HTTP client and server *metrics*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/http/http-metrics.md b/docs/http/http-metrics.md index 0ed95d73a8..b0a5fd3cd5 100644 --- a/docs/http/http-metrics.md +++ b/docs/http/http-metrics.md @@ -65,7 +65,7 @@ This metric is required. When this metric is reported alongside an HTTP server span, the metric value SHOULD be the same as the HTTP server span duration. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -537,7 +537,7 @@ This metric is required. When this metric is reported alongside an HTTP client span, the metric value SHOULD be the same as the HTTP client span duration. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -975,7 +975,7 @@ This metric is optional. ### Metric: `http.client.connection.duration` This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. This metric is optional. @@ -1109,4 +1109,4 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/http/http-spans.md b/docs/http/http-spans.md index 9487782e99..f25c9e93d5 100644 --- a/docs/http/http-spans.md +++ b/docs/http/http-spans.md @@ -66,7 +66,7 @@ and various HTTP versions like 1.1, 2 and SPDY. ## Name -HTTP spans MUST follow the overall [guidelines for span names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#span). +HTTP spans MUST follow the overall [guidelines for span names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#span). HTTP span names SHOULD be `{method} {target}` if there is a (low-cardinality) `target` available. If there is no (low-cardinality) `{target}` available, HTTP span names SHOULD be `{method}`. @@ -88,7 +88,7 @@ Instrumentation MUST NOT default to using URI path as a `{target}`. ## Status -[Span Status](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#set-status) MUST be left unset if HTTP status code was in the +[Span Status](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#set-status) MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges, unless there was another error (e.g., network error receiving the response body; or 3xx codes with max redirects exceeded), in which case status MUST be set to `Error`. @@ -719,5 +719,5 @@ Span name: `POST /uploads/:document_id`. | `http.response.status_code` | `201` | | `error.type` | `WebSocketDisconnect` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md -[SpanProcessor]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/sdk.md#span-processor +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[SpanProcessor]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/sdk.md#span-processor diff --git a/docs/messaging/README.md b/docs/messaging/README.md index 0d9e3b929c..69cd9deb51 100644 --- a/docs/messaging/README.md +++ b/docs/messaging/README.md @@ -23,4 +23,4 @@ Technology specific semantic conventions are defined for the following messaging * [RocketMQ](rocketmq.md): Semantic Conventions for *Apache RocketMQ*. * [Google Cloud Pub/Sub](gcp-pubsub.md): Semantic Conventions for *Google Cloud Pub/Sub*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/messaging/azure-messaging.md b/docs/messaging/azure-messaging.md index 0c4e12b96a..8c9f954a6c 100644 --- a/docs/messaging/azure-messaging.md +++ b/docs/messaging/azure-messaging.md @@ -204,4 +204,4 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/messaging/kafka.md b/docs/messaging/kafka.md index 0ad2128460..5c2d0de5ed 100644 --- a/docs/messaging/kafka.md +++ b/docs/messaging/kafka.md @@ -165,4 +165,4 @@ Process CB: | Span Rcv2 | | `messaging.kafka.destination.partition` | `"1"` | `"1"` | `"1"` | `"3"` | `"3"` | | `messaging.kafka.message.offset` | `"12"` | `"12"` | `"12"` | `"32"` | `"32"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/messaging/messaging-metrics.md b/docs/messaging/messaging-metrics.md index e3e119ca35..7ba1ddc559 100644 --- a/docs/messaging/messaging-metrics.md +++ b/docs/messaging/messaging-metrics.md @@ -119,7 +119,7 @@ This metric is [required][MetricRequired]. When this metric is reported alongside a messaging publish span, the metric value SHOULD be the same as the corresponding span duration. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advice) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advice) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. @@ -169,7 +169,7 @@ This metric is [required][MetricRequired] when the messaging system supports bat This metric is [required][MetricRequired] for operations that are initiated by the application code (pull-based). This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advice) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advice) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. When this metric is reported alongside a messaging receive span, the metric value SHOULD be the same as the corresponding span duration. @@ -221,7 +221,7 @@ This metric is [required][MetricRequired] for operations that are not initiated When this metric is reported alongside a messaging process span, the metric value SHOULD be the same as the corresponding span duration. This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advice) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advice) of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]`. diff --git a/docs/messaging/messaging-spans.md b/docs/messaging/messaging-spans.md index f1f91ceae8..8320add5bf 100644 --- a/docs/messaging/messaging-spans.md +++ b/docs/messaging/messaging-spans.md @@ -165,7 +165,7 @@ If the operation name is not specified by the messaging system, then the operati ``` -The destination name SHOULD only be used for the span name if it is known to be of low cardinality (cf. [general span name guidelines](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#span)). +The destination name SHOULD only be used for the span name if it is known to be of low cardinality (cf. [general span name guidelines](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#span)). This can be assumed if it is statically derived from application code or configuration. Wherever possible, the real destination names after resolving logical or aliased names SHOULD be used. If the destination name is dynamic, such as a [conversation ID](#conversations) or a value obtained from a `Reply-To` header, it SHOULD NOT be used for the span name. @@ -198,7 +198,7 @@ The following operation types related to messages are defined for these semantic ### Span kind -[Span kinds](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#spankind) +[Span kinds](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#spankind) SHOULD be set according to the following table, based on the operation type a span describes. | Operation type | Span kind| @@ -209,7 +209,7 @@ SHOULD be set according to the following table, based on the operation type a sp | `process` | `CONSUMER` for push-based scenarios where no `receive` span exists. | For cases not covered by the table above, the span kind should be set according -to the [generic specification about span kinds](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#spankind), +to the [generic specification about span kinds](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#spankind), e. g. it should be set to CLIENT for the "Publish" span if its context is not used as creation context and if the "Publish" span models a synchronous call to the intermediary. @@ -605,4 +605,4 @@ More specific Semantic Conventions are defined for the following messaging techn * [RabbitMQ](rabbitmq.md): Semantic Conventions for *RabbitMQ*. * [RocketMQ](rocketmq.md): Semantic Conventions for *Apache RocketMQ*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/messaging/rabbitmq.md b/docs/messaging/rabbitmq.md index 106e13560a..58b84ee524 100644 --- a/docs/messaging/rabbitmq.md +++ b/docs/messaging/rabbitmq.md @@ -104,4 +104,4 @@ body size should be used. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/messaging/rocketmq.md b/docs/messaging/rocketmq.md index 49ffb46af9..1e9bde4e29 100644 --- a/docs/messaging/rocketmq.md +++ b/docs/messaging/rocketmq.md @@ -135,4 +135,4 @@ body size should be used. `messaging.client.id` SHOULD be set to the client ID that is automatically generated by the Apache RocketMQ SDK. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/object-stores/README.md b/docs/object-stores/README.md index 21189287ba..a512dc5d54 100644 --- a/docs/object-stores/README.md +++ b/docs/object-stores/README.md @@ -15,4 +15,4 @@ The following technology specific semantic conventions are defined for object st * [AWS S3](s3.md): Semantic Conventions for *AWS S3*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/object-stores/s3.md b/docs/object-stores/s3.md index dc322e6a0a..491ef6f141 100644 --- a/docs/object-stores/s3.md +++ b/docs/object-stores/s3.md @@ -100,4 +100,4 @@ This applies in particular to the following operations: -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/README.md b/docs/resource/README.md index b98a8f92b5..cc1700afea 100644 --- a/docs/resource/README.md +++ b/docs/resource/README.md @@ -9,7 +9,7 @@ path_base_for_github_subdir: **Status**: [Mixed][DocumentStatus] -This document defines standard attributes for resources. These attributes are typically used in the [Resource](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/resource/sdk.md) and are also recommended to be used anywhere else where there is a need to describe a resource in a consistent manner. The majority of these attributes are inherited from +This document defines standard attributes for resources. These attributes are typically used in the [Resource](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/resource/sdk.md) and are also recommended to be used anywhere else where there is a need to describe a resource in a consistent manner. The majority of these attributes are inherited from [OpenCensus Resource standard](https://github.com/census-instrumentation/opencensus-specs/blob/master/resource/StandardResources.md). @@ -59,14 +59,14 @@ Given their significance some resource attributes are treated specifically as de ### Semantic Attributes with Dedicated Environment Variable These are the attributes which MAY be configurable via a dedicated environment variable -as specified in [OpenTelemetry Environment Variable Specification](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/configuration/sdk-environment-variables.md): +as specified in [OpenTelemetry Environment Variable Specification](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/configuration/sdk-environment-variables.md): - [`service.name`](#service) ### Semantic Attributes with SDK-provided Default Value These are the attributes which MUST be provided by the SDK -as specified in the [Resource SDK specification](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/resource/sdk.md#sdk-provided-resource-attributes): +as specified in the [Resource SDK specification](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/resource/sdk.md#sdk-provided-resource-attributes): - [`service.name`](#service) - [`telemetry.sdk` group](#telemetry-sdk) @@ -314,4 +314,4 @@ Valid cloud providers are: - [Tencent Cloud](https://www.tencentcloud.com/) (`tencent_cloud`) - [Heroku dyno](./cloud-provider/heroku.md) -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/android.md b/docs/resource/android.md index b93456065b..ef3a7e9464 100644 --- a/docs/resource/android.md +++ b/docs/resource/android.md @@ -23,4 +23,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/browser.md b/docs/resource/browser.md index 813b0efdae..459d4960d9 100644 --- a/docs/resource/browser.md +++ b/docs/resource/browser.md @@ -42,4 +42,4 @@ The list of possible values is defined in the [W3C User-Agent Client Hints speci -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud-provider/README.md b/docs/resource/cloud-provider/README.md index 074f5d473f..92ffceea57 100644 --- a/docs/resource/cloud-provider/README.md +++ b/docs/resource/cloud-provider/README.md @@ -15,4 +15,4 @@ This document defines semantic conventions for resource cloud providers. * [GCP](gcp/README.md): Semantic Conventions for Google Cloud Platform. * [Heroku](heroku.md): Semantic Conventions for Heroku. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud-provider/aws/README.md b/docs/resource/cloud-provider/aws/README.md index 1cf7113b3d..b6c2a5aa5a 100644 --- a/docs/resource/cloud-provider/aws/README.md +++ b/docs/resource/cloud-provider/aws/README.md @@ -28,4 +28,4 @@ Attributes that relate to an individual AWS service: - [Elastic Container Service (ECS)](./ecs.md) - [Elastic Kubernetes Service (EKS)](./eks.md) -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud-provider/aws/ecs.md b/docs/resource/cloud-provider/aws/ecs.md index 99903a00bb..6d57c92fa7 100644 --- a/docs/resource/cloud-provider/aws/ecs.md +++ b/docs/resource/cloud-provider/aws/ecs.md @@ -37,4 +37,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud-provider/aws/eks.md b/docs/resource/cloud-provider/aws/eks.md index 0564b5e234..2b50ff91fe 100644 --- a/docs/resource/cloud-provider/aws/eks.md +++ b/docs/resource/cloud-provider/aws/eks.md @@ -23,4 +23,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud-provider/aws/logs.md b/docs/resource/cloud-provider/aws/logs.md index 4b8ba980cd..27850a51eb 100644 --- a/docs/resource/cloud-provider/aws/logs.md +++ b/docs/resource/cloud-provider/aws/logs.md @@ -34,4 +34,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud-provider/gcp/README.md b/docs/resource/cloud-provider/gcp/README.md index 18e17e81f9..2df27e28cf 100644 --- a/docs/resource/cloud-provider/gcp/README.md +++ b/docs/resource/cloud-provider/gcp/README.md @@ -19,4 +19,4 @@ provider (like account ID, operating system, etc), it belongs in the parent - [Cloud Run](./cloud-run.md) - [Compute Engine](./gce.md) -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud-provider/gcp/cloud-run.md b/docs/resource/cloud-provider/gcp/cloud-run.md index 3232614a42..9589a3c7cf 100644 --- a/docs/resource/cloud-provider/gcp/cloud-run.md +++ b/docs/resource/cloud-provider/gcp/cloud-run.md @@ -26,4 +26,4 @@ These conventions are recommended for resources running on Cloud Run. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud-provider/heroku.md b/docs/resource/cloud-provider/heroku.md index f6538ee530..2e919b693b 100644 --- a/docs/resource/cloud-provider/heroku.md +++ b/docs/resource/cloud-provider/heroku.md @@ -40,4 +40,4 @@ Additionally, [the `cloud.provider` resource attribute MUST be set to `heroku`]( [Heroku dyno metadata]: https://devcenter.heroku.com/articles/dyno-metadata -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/cloud.md b/docs/resource/cloud.md index 4935d2f50c..1ce2c674f7 100644 --- a/docs/resource/cloud.md +++ b/docs/resource/cloud.md @@ -101,4 +101,4 @@ The following well-known definitions MUST be used if you set this attribute and -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/container.md b/docs/resource/container.md index 8d493a6741..3b31958cd0 100644 --- a/docs/resource/container.md +++ b/docs/resource/container.md @@ -47,4 +47,4 @@ An example can be found in [Example Image Manifest](https://docs.docker.com/regi -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/deployment-environment.md b/docs/resource/deployment-environment.md index 5ea4d274ec..834de7e586 100644 --- a/docs/resource/deployment-environment.md +++ b/docs/resource/deployment-environment.md @@ -33,4 +33,4 @@ considered to be identifying the same service: -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/device.md b/docs/resource/device.md index dbed3ecb8d..442097bfb7 100644 --- a/docs/resource/device.md +++ b/docs/resource/device.md @@ -36,4 +36,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/faas.md b/docs/resource/faas.md index bdda520478..35cf6939f6 100644 --- a/docs/resource/faas.md +++ b/docs/resource/faas.md @@ -93,4 +93,4 @@ There are cases where a FaaS resource attribute is better applied as a span attribute instead. See the [FaaS trace conventions](/docs/faas/faas-spans.md) for more. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/host.md b/docs/resource/host.md index 995a12b167..7d202fc426 100644 --- a/docs/resource/host.md +++ b/docs/resource/host.md @@ -108,4 +108,4 @@ 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. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/k8s.md b/docs/resource/k8s.md index 18a703a2c8..e887593849 100644 --- a/docs/resource/k8s.md +++ b/docs/resource/k8s.md @@ -336,4 +336,4 @@ A CronJob creates Jobs on a repeating schedule. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/os.md b/docs/resource/os.md index 491d29bd71..c4966fea8e 100644 --- a/docs/resource/os.md +++ b/docs/resource/os.md @@ -46,4 +46,4 @@ In case of virtualized environments, this is the operating system as it is obser -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/process.md b/docs/resource/process.md index 5ba93af049..3062e5a287 100644 --- a/docs/resource/process.md +++ b/docs/resource/process.md @@ -267,4 +267,4 @@ Examples for some Ruby runtimes | MRI | ruby | 2.7.1 | ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19] | | TruffleRuby | truffleruby | 2.6.2 | truffleruby (Shopify) 20.0.0-dev-92ed3059, like ruby 2.6.2, GraalVM CE Native [x86_64-darwin] | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/resource/webengine.md b/docs/resource/webengine.md index e1c0412494..6a92f9a837 100644 --- a/docs/resource/webengine.md +++ b/docs/resource/webengine.md @@ -34,4 +34,4 @@ The situations where there are multiple candidates, it is up to instrumentation * Either Apache HTTP Server or `mod_wsgi` MAY be chosen as `webengine`, depending on the decision made by the instrumentation authors. * Django SHOULD NOT be set as an `webengine` as the required information is already available in instrumentation library and setting this into `webengine` would duplicate the information. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/rpc/README.md b/docs/rpc/README.md index 685e73c9b3..4f1a331635 100644 --- a/docs/rpc/README.md +++ b/docs/rpc/README.md @@ -27,4 +27,4 @@ Specifications defined by maintainers of RPC systems: * [gRPC](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md): Semantic Conventions for *gRPC*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/rpc/connect-rpc.md b/docs/rpc/connect-rpc.md index 8af47ad23b..113218f310 100644 --- a/docs/rpc/connect-rpc.md +++ b/docs/rpc/connect-rpc.md @@ -67,6 +67,6 @@ Below is a table of attributes that SHOULD be included on client and server Conn ## Connect RPC Status -If `rpc.connect_rpc.error_code` is set, [Span Status](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#set-status) MUST be set to `Error` and left unset in all other cases. +If `rpc.connect_rpc.error_code` is set, [Span Status](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#set-status) MUST be set to `Error` and left unset in all other cases. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/rpc/grpc.md b/docs/rpc/grpc.md index acbc47823f..fbc880a76f 100644 --- a/docs/rpc/grpc.md +++ b/docs/rpc/grpc.md @@ -67,10 +67,10 @@ Below is a table of attributes that SHOULD be included on client and server gRPC ## gRPC Status The table below describes when -the [Span Status](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#set-status) MUST be set +the [Span Status](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#set-status) MUST be set to `Error` or remain unset depending on the [gRPC status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) -and [Span Kind](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/trace/api.md#spankind). +and [Span Kind](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#spankind). | gRPC Status Code | `SpanKind.SERVER` Span Status | `SpanKind.CLIENT` Span Status | |---|---|---| @@ -92,4 +92,4 @@ and [Span Kind](https://github.com/open-telemetry/opentelemetry-specification/tr | DATA_LOSS | `Error` | `Error` | | UNAUTHENTICATED | unset | `Error` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/rpc/json-rpc.md b/docs/rpc/json-rpc.md index ea95af301d..2ed7f48fb4 100644 --- a/docs/rpc/json-rpc.md +++ b/docs/rpc/json-rpc.md @@ -39,4 +39,4 @@ described on this page. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/rpc/rpc-metrics.md b/docs/rpc/rpc-metrics.md index e2914ac8cb..2463d11e43 100644 --- a/docs/rpc/rpc-metrics.md +++ b/docs/rpc/rpc-metrics.md @@ -438,5 +438,5 @@ Specifications defined by maintainers of RPC systems: * [gRPC](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md): Semantic Conventions for *gRPC*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/rpc/rpc-spans.md b/docs/rpc/rpc-spans.md index dda76129cd..aee50b0bee 100644 --- a/docs/rpc/rpc-spans.md +++ b/docs/rpc/rpc-spans.md @@ -304,4 +304,4 @@ More specific Semantic Conventions are defined for the following RPC technologie * [gRPC](grpc.md): Semantic Conventions for *gRPC*. * [JSON-RPC](json-rpc.md): Semantic Conventions for *JSON-RPC*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/runtime/README.md b/docs/runtime/README.md index 9a7fcaf3ad..6285bc2c92 100644 --- a/docs/runtime/README.md +++ b/docs/runtime/README.md @@ -54,4 +54,4 @@ semantic conventions when instrumenting runtime environments. [`process.runtime`](/docs/resource/process.md#process-runtimes) resource attributes SHOULD be included on runtime metric events as appropriate. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/runtime/jvm-metrics.md b/docs/runtime/jvm-metrics.md index 5f5372f2b1..bad7849aef 100644 --- a/docs/runtime/jvm-metrics.md +++ b/docs/runtime/jvm-metrics.md @@ -266,7 +266,7 @@ This metric is obtained by subscribing to [`GarbageCollectionNotificationInfo`](https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/GarbageCollectionNotificationInfo.html) events provided by [`GarbageCollectorMXBean`](https://docs.oracle.com/javase/8/docs/api/java/lang/management/GarbageCollectorMXBean.html). The duration value is obtained from [`GcInfo`](https://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/GcInfo.html#getDuration--) This metric SHOULD be specified with -[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters) +[`ExplicitBucketBoundaries`](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/api.md#instrument-advisory-parameters) of `[ 0.01, 0.1, 1, 10 ]`. @@ -872,6 +872,6 @@ This metric is obtained from [`BufferPoolMXBean#getCount()`](https://docs.oracle -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md [MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/system/README.md b/docs/system/README.md index 9b83a84a0e..67323409b7 100644 --- a/docs/system/README.md +++ b/docs/system/README.md @@ -18,4 +18,4 @@ System semantic conventions are defined for the following metrics: * [Process](process-metrics.md): For standard process metrics. * [Runtime Environment](/docs/runtime/README.md#metrics): For runtime environment metrics. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/system/container-metrics.md b/docs/system/container-metrics.md index d8b3932283..5af0f3cf47 100644 --- a/docs/system/container-metrics.md +++ b/docs/system/container-metrics.md @@ -200,4 +200,4 @@ This metric is [opt-in][MetricOptIn]. [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md -[MetricOptIn]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/metric-requirement-level.md#opt-in +[MetricOptIn]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/metric-requirement-level.md#opt-in diff --git a/docs/system/hardware-metrics.md b/docs/system/hardware-metrics.md index 9773606d91..6941da47c8 100644 --- a/docs/system/hardware-metrics.md +++ b/docs/system/hardware-metrics.md @@ -399,4 +399,4 @@ Additional **Recommended** attributes: | ----------------- | ---------------------- | ---------- | | `sensor_location` | Location of the sensor | `PS0 V3_3` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/system/process-metrics.md b/docs/system/process-metrics.md index c46493735a..4b49225e41 100644 --- a/docs/system/process-metrics.md +++ b/docs/system/process-metrics.md @@ -459,5 +459,5 @@ This metric is [recommended][MetricRecommended]. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md index 703842a33f..58eb0b0b40 100644 --- a/docs/system/system-metrics.md +++ b/docs/system/system-metrics.md @@ -1440,7 +1440,7 @@ An instrument for load average over 1 minute on Linux could be named `system.linux.cpu.load_1m`, reusing the `cpu` name proposed above and having an `{os}` prefix to split this metric across OSes. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended [MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in diff --git a/docs/url/README.md b/docs/url/README.md index 7618e189ae..299ef1711b 100644 --- a/docs/url/README.md +++ b/docs/url/README.md @@ -15,4 +15,4 @@ URL semantic conventions are defined for the following: * [URL](url.md): For describing URL and its components. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/docs/url/url.md b/docs/url/url.md index caeaeb035e..260527a1e3 100644 --- a/docs/url/url.md +++ b/docs/url/url.md @@ -61,4 +61,4 @@ Instrumentations that are aware of specific sensitive query string parameters MU _Note: Applications and telemetry consumers should scrub sensitive information from URL attributes on collected telemetry. In systems unable to identify sensitive information, certain attribute values may be redacted entirely._ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md diff --git a/internal/tools/update_specification_version.sh b/internal/tools/update_specification_version.sh index aef6f5f84e..34af42f446 100755 --- a/internal/tools/update_specification_version.sh +++ b/internal/tools/update_specification_version.sh @@ -6,9 +6,9 @@ # Set this to the version number you want to CHANGE in URLs in the repository. -PREVIOUS_SPECIFICATION_VERSION="v1.26.0" +PREVIOUS_SPECIFICATION_VERSION="v1.31.0" # Set this to the version number you want to KEEP in URLs in the repository. -LATEST_SPECIFICATION_VERSION="v1.31.0" +LATEST_SPECIFICATION_VERSION="v1.33.0" # The specific pattern we look for when replacing URLs SPECIFICATION_URL_PREFIX="https://github.com/open-telemetry/opentelemetry-specification/tree/" SPECIFICATION_BLOB_URL_PREFIX="https://github.com/open-telemetry/opentelemetry-specification/blob/" diff --git a/model/registry/event.yaml b/model/registry/event.yaml index aa69709b69..9c3a5718b9 100644 --- a/model/registry/event.yaml +++ b/model/registry/event.yaml @@ -11,7 +11,7 @@ groups: brief: > Identifies the class / type of event. note: > - Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/common/attribute-naming.md). + Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. From ab966154e25c5517bc491fb29c65995327fc4e81 Mon Sep 17 00:00:00 2001 From: Alexandra Konrad Date: Tue, 21 May 2024 17:51:41 +0200 Subject: [PATCH 02/22] [chore] Use group name for generating snippets (#1049) --- templates/registry/markdown/attribute_macros.j2 | 4 +++- templates/registry/markdown/attribute_table.j2 | 6 +++--- templates/registry/markdown/sampling_macros.j2 | 4 ++-- templates/registry/markdown/snippet.md.j2 | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/templates/registry/markdown/attribute_macros.j2 b/templates/registry/markdown/attribute_macros.j2 index 11c5cbb85f..42206395f4 100644 --- a/templates/registry/markdown/attribute_macros.j2 +++ b/templates/registry/markdown/attribute_macros.j2 @@ -15,7 +15,9 @@ {% macro name(attribute) %}{%- if attribute.type is startingwith("template[") %}`{{ attribute.name }}.` {%- else %}`{{ attribute.name }}`{%- endif %}{% endmacro %} -{% macro name_with_link(attribute, attribute_registry_base_url) %}[{{name(attribute)}}]({{attribute_registry_base_url}}/{{ attribute.name | split_id | list | first | kebab_case }}.md){% endmacro %} +{% macro find_lineage(attr_id, lineage) %}{% if attr_id in lineage %}{{lineage[attr_id].source_group}}{% endif %}{% endmacro %} + +{% macro name_with_link(attribute, attribute_registry_base_url, lineage_attributes) %}[{{name(attribute)}}]({{attribute_registry_base_url}}/{{ find_lineage(attribute.name, lineage_attributes) | split_id | list | reject("eq", "registry")| first | kebab_case }}.md){% endmacro %} {% macro examples(attribute) %}{%- if attribute.examples %} {%- if attribute.examples is sequence %} diff --git a/templates/registry/markdown/attribute_table.j2 b/templates/registry/markdown/attribute_table.j2 index 7b57dbb249..e80c3669fe 100644 --- a/templates/registry/markdown/attribute_table.j2 +++ b/templates/registry/markdown/attribute_table.j2 @@ -5,8 +5,8 @@ {% import 'enum_macros.j2' as enums %} {% import 'sampling_macros.j2' as sampling %} {#- Macro for creating attribute table -#} -{% macro generate(attributes, tag_filter, attribute_registry_base_url) %}{% if (tag_filter | length == 0) %}{% set filtered_attributes = attributes %}{% else %}{% set filtered_attributes = attributes | selectattr("tag", "in", tag_filter) %}{% endif %}{% if filtered_attributes | length > 0 %}| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +{% macro generate(attributes, tag_filter, attribute_registry_base_url, lineage_attributes) %}{% if (tag_filter | length == 0) %}{% set filtered_attributes = attributes %}{% else %}{% set filtered_attributes = attributes | selectattr("tag", "in", tag_filter) %}{% endif %}{% if filtered_attributes | length > 0 %}| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -{% for attribute in filtered_attributes | attribute_sort %}| {{ attrs.name_with_link(attribute, attribute_registry_base_url) }} | {{ attrs.type(attribute) }} | {{ attribute.brief | trim }}{{ notes.add(attribute.note) }} | {{ attrs.examples(attribute) | trim }} | {{ requirement.render(attribute.requirement_level, notes) | trim }} | {{ stability.badge(attribute.stability, attribute.deprecated) | trim }} | -{% endfor %}{{ notes.render() }}{{ sampling.snippet(filtered_attributes, attribute_registry_base_url) }}{{ enums.tables(filtered_attributes | selectattr("type", "mapping"), notes) }} +{% for attribute in filtered_attributes | attribute_sort %}| {{ attrs.name_with_link(attribute, attribute_registry_base_url, lineage_attributes) }} | {{ attrs.type(attribute) }} | {{ attribute.brief | trim }}{{ notes.add(attribute.note) }} | {{ attrs.examples(attribute) | trim }} | {{ requirement.render(attribute.requirement_level, notes) | trim }} | {{ stability.badge(attribute.stability, attribute.deprecated) | trim }} | +{% endfor %}{{ notes.render() }}{{ sampling.snippet(filtered_attributes, attribute_registry_base_url, lineage_attributes) }}{{ enums.tables(filtered_attributes | selectattr("type", "mapping"), notes) }} {% endif %}{% endmacro %} diff --git a/templates/registry/markdown/sampling_macros.j2 b/templates/registry/markdown/sampling_macros.j2 index e8a5c2b81b..07929e7d41 100644 --- a/templates/registry/markdown/sampling_macros.j2 +++ b/templates/registry/markdown/sampling_macros.j2 @@ -1,7 +1,7 @@ {% import 'attribute_macros.j2' as attrs %} -{% macro snippet(attributes, attribute_registry_base_url) %}{% set sampling_attributes = attributes | selectattr("sampling_relevant", "true") %}{% if sampling_attributes | length > 0 %} +{% macro snippet(attributes, attribute_registry_base_url, lineage_attributes) %}{% set sampling_attributes = attributes | selectattr("sampling_relevant", "true") %}{% if sampling_attributes | length > 0 %} The following attributes can be important for making sampling decisions and SHOULD be provided **at span creation time** (if provided at all): -{% for attribute in sampling_attributes | sort(attribute="name") %}* {{ attrs.name_with_link(attribute, attribute_registry_base_url) }} +{% for attribute in sampling_attributes | sort(attribute="name") %}* {{ attrs.name_with_link(attribute, attribute_registry_base_url, lineage_attributes) }} {% endfor %}{% endif %}{% endmacro %} diff --git a/templates/registry/markdown/snippet.md.j2 b/templates/registry/markdown/snippet.md.j2 index 2663496510..cc9bf6d89c 100644 --- a/templates/registry/markdown/snippet.md.j2 +++ b/templates/registry/markdown/snippet.md.j2 @@ -4,7 +4,7 @@ {% import 'attribute_table.j2' as at %}{% import 'metric_table.j2' as mt %}{% import 'event_macros.j2' as event %} -{% if snippet_type == "metric_table" %}{{ mt.generate(group) }}{% else %}{% if group.type == "event" %}{{ event.header(group) }}{% endif %}{{ at.generate(group.attributes, tag_filter, attribute_registry_base_url) }}{% endif %} +{% if snippet_type == "metric_table" %}{{ mt.generate(group) }}{% else %}{% if group.type == "event" %}{{ event.header(group) }}{% endif %}{{ at.generate(group.attributes, tag_filter, attribute_registry_base_url, group.lineage.attributes) }}{% endif %} \ No newline at end of file From 9adff435c76ea3b8cba89babefc832d3dd3c1ab9 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Tue, 21 May 2024 14:20:56 -0400 Subject: [PATCH 03/22] [chore] Cut 1.26 release. (#1052) --- .chloggen/1000.yaml | 7 - .chloggen/1016.yaml | 4 - .chloggen/1018.yaml | 4 - .chloggen/564.yaml | 22 - .chloggen/634.yaml | 25 -- .chloggen/735.yaml | 22 - .chloggen/814.yaml | 4 - .chloggen/862.yaml | 4 - .chloggen/863.yaml | 4 - .chloggen/866.yaml | 4 - .chloggen/870.yaml | 4 - .chloggen/875.yaml | 4 - .chloggen/890.yaml | 4 - .chloggen/894.yaml | 4 - .chloggen/910.yaml | 4 - .chloggen/911.yaml | 4 - .chloggen/917.yaml | 18 - .chloggen/931.yaml | 7 - .chloggen/953.yaml | 7 - .chloggen/972.yaml | 22 - .chloggen/973.yaml | 7 - .chloggen/974.yaml | 7 - .chloggen/975.yaml | 7 - .chloggen/976.yaml | 22 - .chloggen/989.yaml | 7 - .chloggen/992.yaml | 22 - .chloggen/allow-http-route-on-client.yaml | 22 - .chloggen/db_case_normalization.yaml | 24 -- .chloggen/db_client_connection_metric.yaml | 24 -- .chloggen/db_metrics.yaml | 22 - .chloggen/decouple_shared_memory_metric.yaml | 22 - .chloggen/deprecated-http.client_ip.yaml | 22 - .chloggen/deprecated-net.yaml | 22 - .chloggen/device_app_lifecycle.yaml | 26 -- .chloggen/events.yaml | 22 - .chloggen/first-gen-ai.yaml | 22 - .chloggen/k8s-status.yaml | 22 - .chloggen/messaging-client-id.yaml | 4 - .chloggen/rpc_registry.yaml | 22 - CHANGELOG.md | 66 +++ schema-next.yaml | 1 + schemas/1.26.0 | 427 +++++++++++++++++++ 42 files changed, 494 insertions(+), 526 deletions(-) delete mode 100644 .chloggen/1000.yaml delete mode 100644 .chloggen/1016.yaml delete mode 100644 .chloggen/1018.yaml delete mode 100644 .chloggen/564.yaml delete mode 100644 .chloggen/634.yaml delete mode 100644 .chloggen/735.yaml delete mode 100644 .chloggen/814.yaml delete mode 100644 .chloggen/862.yaml delete mode 100644 .chloggen/863.yaml delete mode 100644 .chloggen/866.yaml delete mode 100644 .chloggen/870.yaml delete mode 100644 .chloggen/875.yaml delete mode 100644 .chloggen/890.yaml delete mode 100644 .chloggen/894.yaml delete mode 100644 .chloggen/910.yaml delete mode 100644 .chloggen/911.yaml delete mode 100644 .chloggen/917.yaml delete mode 100644 .chloggen/931.yaml delete mode 100644 .chloggen/953.yaml delete mode 100644 .chloggen/972.yaml delete mode 100644 .chloggen/973.yaml delete mode 100644 .chloggen/974.yaml delete mode 100644 .chloggen/975.yaml delete mode 100644 .chloggen/976.yaml delete mode 100644 .chloggen/989.yaml delete mode 100644 .chloggen/992.yaml delete mode 100644 .chloggen/allow-http-route-on-client.yaml delete mode 100755 .chloggen/db_case_normalization.yaml delete mode 100755 .chloggen/db_client_connection_metric.yaml delete mode 100755 .chloggen/db_metrics.yaml delete mode 100755 .chloggen/decouple_shared_memory_metric.yaml delete mode 100755 .chloggen/deprecated-http.client_ip.yaml delete mode 100755 .chloggen/deprecated-net.yaml delete mode 100644 .chloggen/device_app_lifecycle.yaml delete mode 100644 .chloggen/events.yaml delete mode 100755 .chloggen/first-gen-ai.yaml delete mode 100755 .chloggen/k8s-status.yaml delete mode 100644 .chloggen/messaging-client-id.yaml delete mode 100755 .chloggen/rpc_registry.yaml create mode 100644 schemas/1.26.0 diff --git a/.chloggen/1000.yaml b/.chloggen/1000.yaml deleted file mode 100644 index eb4567a49a..0000000000 --- a/.chloggen/1000.yaml +++ /dev/null @@ -1,7 +0,0 @@ -change_type: enhancement - -component: all - -note: Markdown snippets are now generated by jinja templates in the `templates` directory. - -issues: [1000] diff --git a/.chloggen/1016.yaml b/.chloggen/1016.yaml deleted file mode 100644 index a384eeeeef..0000000000 --- a/.chloggen/1016.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: enhancement -component: db, messaging, gen_ai -note: Clarify that `db.system`, `messaging.system`, `gen_ai.system` attributes capture the client perception and may differ from the actual product name. -issues: [813, 1016] diff --git a/.chloggen/1018.yaml b/.chloggen/1018.yaml deleted file mode 100644 index 7b7fffa29c..0000000000 --- a/.chloggen/1018.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: enhancement -component: messaging -note: Show all applicable attributes in individual messaging semantic conventions. -issues: [869, 1018] diff --git a/.chloggen/564.yaml b/.chloggen/564.yaml deleted file mode 100644 index 777f5f8b7b..0000000000 --- a/.chloggen/564.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: process - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add additional attributes to process attribute registry - -# 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: [564] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/634.yaml b/.chloggen/634.yaml deleted file mode 100644 index 16b837ff88..0000000000 --- a/.chloggen/634.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# 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: messaging - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Add a GCP Pub/Sub unary pull example and the new GCP messaging attributes: -- `messaging.gcp_pubsub.message.ack_deadline`, -- `messaging.gcp_pubsub.message.ack_id`, -- `messaging.gcp_pubsub.message.delivery_attempt`" - -# 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: [527] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/735.yaml b/.chloggen/735.yaml deleted file mode 100644 index e28402e049..0000000000 --- a/.chloggen/735.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: db - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add `db.client.operation.duration` metric - -# 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: [512] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/814.yaml b/.chloggen/814.yaml deleted file mode 100644 index 10dc2529f6..0000000000 --- a/.chloggen/814.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: enhancement -component: messaging -note: Adds `messaging.destination.partition.id`` to the messaging attributes -issues: [ 814 ] diff --git a/.chloggen/862.yaml b/.chloggen/862.yaml deleted file mode 100644 index 828a88899e..0000000000 --- a/.chloggen/862.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: enhancement -component: exception -note: Replace constraints with requirement levels on exceptions. -issues: [ 862 ] diff --git a/.chloggen/863.yaml b/.chloggen/863.yaml deleted file mode 100644 index 6dc53c5dcf..0000000000 --- a/.chloggen/863.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: enhancement -component: process -note: Replace constraints with requirement_level in process attributes. -issues: [ 863 ] diff --git a/.chloggen/866.yaml b/.chloggen/866.yaml deleted file mode 100644 index 43ee49568b..0000000000 --- a/.chloggen/866.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: breaking -component: db -note: Rename `db.statement` to `db.query.text` and introduce `db.query.parameter.` -issues: [ 716 ] diff --git a/.chloggen/870.yaml b/.chloggen/870.yaml deleted file mode 100644 index dd5dc6fe37..0000000000 --- a/.chloggen/870.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: breaking -component: db -note: Renames `db.sql.table`, `db.cassandra.table`, `db.mongodb.collection`, and `db.cosmosdb.container` attributes to `db.collection.name` -issues: [ 870 ] diff --git a/.chloggen/875.yaml b/.chloggen/875.yaml deleted file mode 100644 index 8d75a96c85..0000000000 --- a/.chloggen/875.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: breaking -component: db -note: Rename `db.operation` to `db.operation.name`. -issues: [ 884 ] diff --git a/.chloggen/890.yaml b/.chloggen/890.yaml deleted file mode 100644 index 4c3e5ce030..0000000000 --- a/.chloggen/890.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: breaking -component: messaging -note: Rename `messaging.operation` to `messaging.operation.type`, add `messaging.operation.name`. -issues: [ 890 ] diff --git a/.chloggen/894.yaml b/.chloggen/894.yaml deleted file mode 100644 index 23f73b1f2c..0000000000 --- a/.chloggen/894.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: breaking -component: db -note: Deprecate the `db.user` attribute. -issues: [ 885 ] diff --git a/.chloggen/910.yaml b/.chloggen/910.yaml deleted file mode 100644 index fbfbe2cd73..0000000000 --- a/.chloggen/910.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: enhancement -component: db -note: Reorganize DB conventions to be shared across span and metric conventions. -issues: [ 910 ] diff --git a/.chloggen/911.yaml b/.chloggen/911.yaml deleted file mode 100644 index b132291a62..0000000000 --- a/.chloggen/911.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: breaking -component: db -note: Rename `db.name` and `db.redis.database_index` to `db.namespace`, deprecate `db.mssql.instance_name`. -issues: [ 885 ] diff --git a/.chloggen/917.yaml b/.chloggen/917.yaml deleted file mode 100644 index b4f7c596bb..0000000000 --- a/.chloggen/917.yaml +++ /dev/null @@ -1,18 +0,0 @@ -change_type: enhancement -component: all - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Migrate Attribute Registry to be completely autogenerated. - -# 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: [197] - -# (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: | - Migrate to using weaver for markdown generation (snippet + registry). - The entirety of the registry now is generated using weaver with templates - under the `templates/` directory. Snippets still require a hardcoded - command. diff --git a/.chloggen/931.yaml b/.chloggen/931.yaml deleted file mode 100644 index ad215bd516..0000000000 --- a/.chloggen/931.yaml +++ /dev/null @@ -1,7 +0,0 @@ -change_type: enhancement - -component: http - -note: List all HTTP client and server attributes in the corresponding table, remove common attributes from yaml and markdown. - -issues: [928] diff --git a/.chloggen/953.yaml b/.chloggen/953.yaml deleted file mode 100644 index b09aa3df1e..0000000000 --- a/.chloggen/953.yaml +++ /dev/null @@ -1,7 +0,0 @@ -change_type: enhancement - -component: other - -note: Document patterns and suggestions for semconv code generation. - -issues: [551, 953] diff --git a/.chloggen/972.yaml b/.chloggen/972.yaml deleted file mode 100644 index 9cebfe9f27..0000000000 --- a/.chloggen/972.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# -# If your change doesn't affect end users you should instead start -# your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: db - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Remove `db.instance.id`. For Elasticsearch, replace with `db.elasticsearch.node.name`. - -# 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: [ 972 ] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/973.yaml b/.chloggen/973.yaml deleted file mode 100644 index 26c67cc732..0000000000 --- a/.chloggen/973.yaml +++ /dev/null @@ -1,7 +0,0 @@ -change_type: enhancement - -component: db - -note: Show applicable common attributes in individual database semantic conventions. - -issues: [973] diff --git a/.chloggen/974.yaml b/.chloggen/974.yaml deleted file mode 100644 index 5be41e3283..0000000000 --- a/.chloggen/974.yaml +++ /dev/null @@ -1,7 +0,0 @@ -change_type: breaking - -component: db - -note: Clarify database span name format and fallback values. - -issues: [974, 704] diff --git a/.chloggen/975.yaml b/.chloggen/975.yaml deleted file mode 100644 index f67fc63c34..0000000000 --- a/.chloggen/975.yaml +++ /dev/null @@ -1,7 +0,0 @@ -change_type: enhancement - -component: db - -note: Add `error.type` attribute to the database span and operation duration metric. - -issues: [975] diff --git a/.chloggen/976.yaml b/.chloggen/976.yaml deleted file mode 100644 index 2a679e3bf1..0000000000 --- a/.chloggen/976.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: db - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Parameterized query text does not need to be sanitized by default - -# 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: [ 976 ] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/989.yaml b/.chloggen/989.yaml deleted file mode 100644 index d0124672bc..0000000000 --- a/.chloggen/989.yaml +++ /dev/null @@ -1,7 +0,0 @@ -change_type: enhancement - -component: http - -note: List experimental HTTP attributes applicable to HTTP client and server spans. - -issues: [989] diff --git a/.chloggen/992.yaml b/.chloggen/992.yaml deleted file mode 100644 index 52b89da098..0000000000 --- a/.chloggen/992.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: db - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Finalizes the migration requirement for instrumentations to follow when updating to stable database semconv. - -# 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: [ 719 ] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/allow-http-route-on-client.yaml b/.chloggen/allow-http-route-on-client.yaml deleted file mode 100644 index 4b8a6e3a82..0000000000 --- a/.chloggen/allow-http-route-on-client.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: http - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: New `url.template` attribute added to URL, HTTP client attributes are extended with optional low-cardinality `url.template` - -# 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: [675] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/db_case_normalization.yaml b/.chloggen/db_case_normalization.yaml deleted file mode 100755 index 049c24f1df..0000000000 --- a/.chloggen/db_case_normalization.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# 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: db - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: > - Add note to `db.collection.name`, `db.namespace`, and `db.operation.name` - about capturing those without attempting to do any case normalization. - -# 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: [886] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/db_client_connection_metric.yaml b/.chloggen/db_client_connection_metric.yaml deleted file mode 100755 index 0c3c9222d8..0000000000 --- a/.chloggen/db_client_connection_metric.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# -# If your change doesn't affect end users you should instead start -# your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: db - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: > - Rename `db.client.connections.*` metric namespace to `db.client.connection.*` and - rename `db.client.connection.usage` to `db.client.connection.count`. - -# 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: [201, 967] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/db_metrics.yaml b/.chloggen/db_metrics.yaml deleted file mode 100755 index 0e8468e967..0000000000 --- a/.chloggen/db_metrics.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# -# If your change doesn't affect end users you should instead start -# your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: db - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Rename `pool.name` to `db.client.connections.pool.name` and `state` to `db.client.connections.state`. - -# 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: [909] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/decouple_shared_memory_metric.yaml b/.chloggen/decouple_shared_memory_metric.yaml deleted file mode 100755 index 5f5fb7be4e..0000000000 --- a/.chloggen/decouple_shared_memory_metric.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# -# If your change doesn't affect end users you should instead start -# your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: 'breaking' - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: system - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Deprecate `shared` from `system.memory.state` values and make it a standalone metric - -# 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: [522] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/deprecated-http.client_ip.yaml b/.chloggen/deprecated-http.client_ip.yaml deleted file mode 100755 index 57e6224137..0000000000 --- a/.chloggen/deprecated-http.client_ip.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: 'bug_fix' - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: http - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add previously deprecated http attributes to registry - -# 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: [1025] - -# (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: These attributes were deprecated in 1.13 diff --git a/.chloggen/deprecated-net.yaml b/.chloggen/deprecated-net.yaml deleted file mode 100755 index 956d01ff28..0000000000 --- a/.chloggen/deprecated-net.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: bug_fix - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: net - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add previously deprecated net attributes to registry - -# 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: [1029] - -# (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: These attributes were deprecated in 1.13 diff --git a/.chloggen/device_app_lifecycle.yaml b/.chloggen/device_app_lifecycle.yaml deleted file mode 100644 index 18fdf8a931..0000000000 --- a/.chloggen/device_app_lifecycle.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# -# If your change doesn't affect end users you should instead start -# your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: device.app.lifecycle - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: > - Reformat and update the `device.app.lifecycle` event description adds constraints for the possible values of - the `android.state` and `ios.state`. - -# 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: [794] - -# (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: > - Removes the `ios.lifecycle.events` and `android.lifecycle.events` attributes from the global registry and adds - constraints for the possible values of the `android.state` and `ios.state` attributes. diff --git a/.chloggen/events.yaml b/.chloggen/events.yaml deleted file mode 100644 index edd25c8d86..0000000000 --- a/.chloggen/events.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: events - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Provides additional definitions of log events and their structure. - -# 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: [ 755 ] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/first-gen-ai.yaml b/.chloggen/first-gen-ai.yaml deleted file mode 100755 index 62dec0d56e..0000000000 --- a/.chloggen/first-gen-ai.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: new_component - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: gen-ai - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Introducing semantic conventions for GenAI clients. - -# 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: [327] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/k8s-status.yaml b/.chloggen/k8s-status.yaml deleted file mode 100755 index cfbbe489ea..0000000000 --- a/.chloggen/k8s-status.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: "k8s" - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: add container.status.last_terminated_reason resource attribute - -# 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: [922] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/.chloggen/messaging-client-id.yaml b/.chloggen/messaging-client-id.yaml deleted file mode 100644 index 07322fe724..0000000000 --- a/.chloggen/messaging-client-id.yaml +++ /dev/null @@ -1,4 +0,0 @@ -change_type: breaking -component: messaging -note: Rename `messaging.client_id` to `messaging.client.id` -issues: [ 935 ] diff --git a/.chloggen/rpc_registry.yaml b/.chloggen/rpc_registry.yaml deleted file mode 100755 index 1401a385e6..0000000000 --- a/.chloggen/rpc_registry.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# Use this changelog template to create an entry for release notes. -# -# If your change doesn't affect end users you should instead start -# your pull request title with [chore] or use the "Skip Changelog" label. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: rpc - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Rename`message.*` attributes under `rpc` to `rpc.message.*`. Deprecate old `message.*` attributes. - -# 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: [854] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e1071d8e6..2f5c827c67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,72 @@ # Changelog + +## v1.26.0 + +### 🛑 Breaking changes 🛑 + +- `db`: Rename `db.statement` to `db.query.text` and introduce `db.query.parameter.` (#716) +- `db`: Renames `db.sql.table`, `db.cassandra.table`, `db.mongodb.collection`, and `db.cosmosdb.container` attributes to `db.collection.name` (#870) +- `db`: Rename `db.operation` to `db.operation.name`. (#884) +- `messaging`: Rename `messaging.operation` to `messaging.operation.type`, add `messaging.operation.name`. (#890) +- `db`: Deprecate the `db.user` attribute. (#885) +- `db`: Rename `db.name` and `db.redis.database_index` to `db.namespace`, deprecate `db.mssql.instance_name`. (#885) +- `db`: Remove `db.instance.id`. For Elasticsearch, replace with `db.elasticsearch.node.name`. (#972) +- `db`: Clarify database span name format and fallback values. (#974, #704) +- `db`: Rename `db.client.connections.*` metric namespace to `db.client.connection.*` and rename `db.client.connection.usage` to `db.client.connection.count`. + (#201, #967) +- `db`: Rename `pool.name` to `db.client.connections.pool.name` and `state` to `db.client.connections.state`. (#909) +- `system`: Deprecate `shared` from `system.memory.state` values and make it a standalone metric (#522) +- `device.app.lifecycle`: Reformat and update the `device.app.lifecycle` event description adds constraints for the possible values of the `android.state` and `ios.state`. + (#794) + Removes the `ios.lifecycle.events` and `android.lifecycle.events` attributes from the global registry and adds constraints for the possible values of the `android.state` and `ios.state` attributes. + +- `messaging`: Rename `messaging.client_id` to `messaging.client.id` (#935) +- `rpc`: Rename`message.*` attributes under `rpc` to `rpc.message.*`. Deprecate old `message.*` attributes. (#854) + +### 🚀 New components 🚀 + +- `gen-ai`: Introducing semantic conventions for GenAI clients. (#327) + +### 💡 Enhancements 💡 + +- `all`: Markdown snippets are now generated by jinja templates in the `templates` directory. (#1000) +- `db, messaging, gen_ai`: Clarify that `db.system`, `messaging.system`, `gen_ai.system` attributes capture the client perception and may differ from the actual product name. (#813, #1016) +- `messaging`: Show all applicable attributes in individual messaging semantic conventions. (#869, #1018) +- `process`: Add additional attributes to process attribute registry (#564) +- `messaging`: Add a GCP Pub/Sub unary pull example and the new GCP messaging attributes: - `messaging.gcp_pubsub.message.ack_deadline`, - `messaging.gcp_pubsub.message.ack_id`, - `messaging.gcp_pubsub.message.delivery_attempt` (#527) +- `db`: Add `db.client.operation.duration` metric (#512) +- `messaging`: Adds `messaging.destination.partition.id`` to the messaging attributes (#814) +- `exception`: Replace constraints with requirement levels on exceptions. (#862) +- `process`: Replace constraints with requirement_level in process attributes. (#863) +- `db`: Reorganize DB conventions to be shared across span and metric conventions. (#910) +- `all`: Migrate Attribute Registry to be completely autogenerated. (#197) + Migrate to using weaver for markdown generation (snippet + registry). + The entirety of the registry now is generated using weaver with templates + under the `templates/` directory. Snippets still require a hardcoded + command. + +- `http`: List all HTTP client and server attributes in the corresponding table, remove common attributes from yaml and markdown. (#928) +- `other`: Document patterns and suggestions for semconv code generation. (#551, #953) +- `db`: Show applicable common attributes in individual database semantic conventions. (#973) +- `db`: Add `error.type` attribute to the database span and operation duration metric. (#975) +- `db`: Parameterized query text does not need to be sanitized by default (#976) +- `http`: List experimental HTTP attributes applicable to HTTP client and server spans. (#989) +- `db`: Finalizes the migration requirement for instrumentations to follow when updating to stable database semconv. (#719) +- `http`: New `url.template` attribute added to URL, HTTP client attributes are extended with optional low-cardinality `url.template` (#675) +- `db`: Add note to `db.collection.name`, `db.namespace`, and `db.operation.name` about capturing those without attempting to do any case normalization. + (#886) +- `events`: Provides additional definitions of log events and their structure. (#755) +- `k8s`: add container.status.last_terminated_reason resource attribute (#922) + +### 🧰 Bug fixes 🧰 + +- `http`: Add previously deprecated http attributes to registry (#1025) + These attributes were deprecated in 1.13 +- `net`: Add previously deprecated net attributes to registry (#1029) + These attributes were deprecated in 1.13 + ## Unreleased ### Breaking diff --git a/schema-next.yaml b/schema-next.yaml index e759a899e2..519df3f8fb 100644 --- a/schema-next.yaml +++ b/schema-next.yaml @@ -2,6 +2,7 @@ file_format: 1.1.0 schema_url: https://opentelemetry.io/schemas/next versions: next: + 1.26.0: metrics: changes: # https://github.com/open-telemetry/semantic-conventions/pull/966 diff --git a/schemas/1.26.0 b/schemas/1.26.0 new file mode 100644 index 0000000000..b11b02952f --- /dev/null +++ b/schemas/1.26.0 @@ -0,0 +1,427 @@ +file_format: 1.1.0 +schema_url: https://opentelemetry.io/schemas/1.26.0 +versions: + 1.26.0: + metrics: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/966 + - rename_metrics: + db.client.connections.usage: db.client.connection.count + db.client.connections.idle.max: db.client.connection.idle.max + db.client.connections.idle.min: db.client.connection.idle.min + db.client.connections.max: db.client.connection.max + db.client.connections.pending_requests: db.client.connection.pending_requests + db.client.connections.timeouts: db.client.connection.timeouts + # https://github.com/open-telemetry/semantic-conventions/pull/948 + - rename_attributes: + attribute_map: + messaging.client_id: messaging.client.id + # https://github.com/open-telemetry/semantic-conventions/pull/909 + - rename_attributes: + attribute_map: + state: db.client.connections.state + apply_to_metrics: + - db.client.connections.usage + - rename_attributes: + attribute_map: + pool.name: db.client.connections.pool.name + apply_to_metrics: + - db.client.connections.usage + - db.client.connections.idle.max + - db.client.connections.idle.min + - db.client.connections.max + - db.client.connections.pending_requests + - db.client.connections.timeouts + - db.client.connections.create_time + - db.client.connections.wait_time + - db.client.connections.use_time + + 1.25.0: + spans: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/911 + - rename_attributes: + attribute_map: + db.name: db.namespace + # https://github.com/open-telemetry/semantic-conventions/pull/870 + - rename_attributes: + attribute_map: + db.sql.table: db.collection.name + db.mongodb.collection: db.collection.name + db.cosmosdb.container: db.collection.name + db.cassandra.table: db.collection.name + # https://github.com/open-telemetry/semantic-conventions/pull/798 + - rename_attributes: + attribute_map: + messaging.kafka.destination.partition: messaging.destination.partition.id + # https://github.com/open-telemetry/semantic-conventions/pull/875 + - rename_attributes: + attribute_map: + db.operation: db.operation.name + # https://github.com/open-telemetry/semantic-conventions/pull/913 + - rename_attributes: + attribute_map: + messaging.operation: messaging.operation.type + # https://github.com/open-telemetry/semantic-conventions/pull/866 + - rename_attributes: + attribute_map: + db.statement: db.query.text + metrics: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/484 + - rename_attributes: + attribute_map: + system.processes.status: system.process.status + apply_to_metrics: + - system.processes.count + - rename_metrics: + system.processes.count: system.process.count + system.processes.created: system.process.created + # https://github.com/open-telemetry/semantic-conventions/pull/625 + - rename_attributes: + attribute_map: + container.labels: container.label + k8s.pod.labels: k8s.pod.label + # https://github.com/open-telemetry/semantic-conventions/pull/330 + - rename_metrics: + process.threads: process.thread.count + process.open_file_descriptors: process.open_file_descriptor.count + - rename_attributes: + attribute_map: + state: process.cpu.state + apply_to_metrics: + - process.cpu.time + - process.cpu.utilization + - rename_attributes: + attribute_map: + direction: disk.io.direction + apply_to_metrics: + - process.disk.io + - rename_attributes: + attribute_map: + type: process.context_switch_type + apply_to_metrics: + - process.context_switches + - rename_attributes: + attribute_map: + direction: network.io.direction + apply_to_metrics: + - process.network.io + - rename_attributes: + attribute_map: + type: process.paging.fault_type + apply_to_metrics: + - process.paging.faults + all: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/854 + - rename_attributes: + attribute_map: + message.type: rpc.message.type + message.id: rpc.message.id + message.compressed_size: rpc.message.compressed_size + message.uncompressed_size: rpc.message.uncompressed_size + + 1.24.0: + metrics: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/536 + - rename_metrics: + jvm.memory.usage: jvm.memory.used + jvm.memory.usage_after_last_gc: jvm.memory.used_after_last_gc + # https://github.com/open-telemetry/semantic-conventions/pull/530 + - rename_attributes: + attribute_map: + system.network.io.direction: network.io.direction + system.disk.io.direction: disk.io.direction + 1.23.1: + 1.23.0: + metrics: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/20 + - rename_attributes: + attribute_map: + thread.daemon: jvm.thread.daemon + apply_to_metrics: + - jvm.thread.count + 1.22.0: + spans: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/229 + - rename_attributes: + attribute_map: + messaging.message.payload_size_bytes: messaging.message.body.size + # https://github.com/open-telemetry/opentelemetry-specification/pull/374 + - rename_attributes: + attribute_map: + http.resend_count: http.request.resend_count + metrics: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/224 + - rename_metrics: + http.client.duration: http.client.request.duration + http.server.duration: http.server.request.duration + # https://github.com/open-telemetry/semantic-conventions/pull/241 + - rename_metrics: + process.runtime.jvm.memory.usage: jvm.memory.usage + process.runtime.jvm.memory.committed: jvm.memory.committed + process.runtime.jvm.memory.limit: jvm.memory.limit + process.runtime.jvm.memory.usage_after_last_gc: jvm.memory.usage_after_last_gc + process.runtime.jvm.gc.duration: jvm.gc.duration + # also https://github.com/open-telemetry/semantic-conventions/pull/252 + process.runtime.jvm.threads.count: jvm.thread.count + # also https://github.com/open-telemetry/semantic-conventions/pull/252 + process.runtime.jvm.classes.loaded: jvm.class.loaded + # also https://github.com/open-telemetry/semantic-conventions/pull/252 + process.runtime.jvm.classes.unloaded: jvm.class.unloaded + # also https://github.com/open-telemetry/semantic-conventions/pull/252 + # and https://github.com/open-telemetry/semantic-conventions/pull/60 + process.runtime.jvm.classes.current_loaded: jvm.class.count + process.runtime.jvm.cpu.time: jvm.cpu.time + process.runtime.jvm.cpu.recent_utilization: jvm.cpu.recent_utilization + process.runtime.jvm.memory.init: jvm.memory.init + process.runtime.jvm.system.cpu.utilization: jvm.system.cpu.utilization + process.runtime.jvm.system.cpu.load_1m: jvm.system.cpu.load_1m + # https://github.com/open-telemetry/semantic-conventions/pull/253 + process.runtime.jvm.buffer.usage: jvm.buffer.memory.usage + # https://github.com/open-telemetry/semantic-conventions/pull/253 + process.runtime.jvm.buffer.limit: jvm.buffer.memory.limit + process.runtime.jvm.buffer.count: jvm.buffer.count + # https://github.com/open-telemetry/semantic-conventions/pull/20 + - rename_attributes: + attribute_map: + type: jvm.memory.type + pool: jvm.memory.pool.name + apply_to_metrics: + - jvm.memory.usage + - jvm.memory.committed + - jvm.memory.limit + - jvm.memory.usage_after_last_gc + - jvm.memory.init + - rename_attributes: + attribute_map: + name: jvm.gc.name + action: jvm.gc.action + apply_to_metrics: + - jvm.gc.duration + - rename_attributes: + attribute_map: + daemon: thread.daemon + apply_to_metrics: + - jvm.threads.count + - rename_attributes: + attribute_map: + pool: jvm.buffer.pool.name + apply_to_metrics: + - jvm.buffer.memory.usage + - jvm.buffer.memory.limit + - jvm.buffer.count + # https://github.com/open-telemetry/semantic-conventions/pull/89 + - rename_attributes: + attribute_map: + state: system.cpu.state + cpu: system.cpu.logical_number + apply_to_metrics: + - system.cpu.time + - system.cpu.utilization + - rename_attributes: + attribute_map: + state: system.memory.state + apply_to_metrics: + - system.memory.usage + - system.memory.utilization + - rename_attributes: + attribute_map: + state: system.paging.state + apply_to_metrics: + - system.paging.usage + - system.paging.utilization + - rename_attributes: + attribute_map: + type: system.paging.type + direction: system.paging.direction + apply_to_metrics: + - system.paging.faults + - system.paging.operations + - rename_attributes: + attribute_map: + device: system.device + direction: system.disk.direction + apply_to_metrics: + - system.disk.io + - system.disk.operations + - system.disk.io_time + - system.disk.operation_time + - system.disk.merged + - rename_attributes: + attribute_map: + device: system.device + state: system.filesystem.state + type: system.filesystem.type + mode: system.filesystem.mode + mountpoint: system.filesystem.mountpoint + apply_to_metrics: + - system.filesystem.usage + - system.filesystem.utilization + - rename_attributes: + attribute_map: + device: system.device + direction: system.network.direction + protocol: network.protocol + state: system.network.state + apply_to_metrics: + - system.network.dropped + - system.network.packets + - system.network.errors + - system.network.io + - system.network.connections + - rename_attributes: + attribute_map: + status: system.processes.status + apply_to_metrics: + - system.processes.count + # https://github.com/open-telemetry/semantic-conventions/pull/247 + - rename_metrics: + http.server.request.size: http.server.request.body.size + http.server.response.size: http.server.response.body.size + resources: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/178 + - rename_attributes: + attribute_map: + telemetry.auto.version: telemetry.distro.version + 1.21.0: + spans: + changes: + # https://github.com/open-telemetry/opentelemetry-specification/pull/3336 + - rename_attributes: + attribute_map: + messaging.kafka.client_id: messaging.client_id + messaging.rocketmq.client_id: messaging.client_id + # https://github.com/open-telemetry/opentelemetry-specification/pull/3402 + - rename_attributes: + attribute_map: + # net.peer.(name|port) attributes were usually populated on client side + # so they should be usually translated to server.(address|port) + # net.host.* attributes were only populated on server side + net.host.name: server.address + net.host.port: server.port + # was only populated on client side + net.sock.peer.name: server.socket.domain + # net.sock.peer.(addr|port) mapping is not possible + # since they applied to both client and server side + # were only populated on server side + net.sock.host.addr: server.socket.address + net.sock.host.port: server.socket.port + http.client_ip: client.address + # https://github.com/open-telemetry/opentelemetry-specification/pull/3426 + - rename_attributes: + attribute_map: + net.protocol.name: network.protocol.name + net.protocol.version: network.protocol.version + net.host.connection.type: network.connection.type + net.host.connection.subtype: network.connection.subtype + net.host.carrier.name: network.carrier.name + net.host.carrier.mcc: network.carrier.mcc + net.host.carrier.mnc: network.carrier.mnc + net.host.carrier.icc: network.carrier.icc + # https://github.com/open-telemetry/opentelemetry-specification/pull/3355 + - rename_attributes: + attribute_map: + http.method: http.request.method + http.status_code: http.response.status_code + http.scheme: url.scheme + http.url: url.full + http.request_content_length: http.request.body.size + http.response_content_length: http.response.body.size + metrics: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/53 + - rename_metrics: + process.runtime.jvm.cpu.utilization: process.runtime.jvm.cpu.recent_utilization + 1.20.0: + spans: + changes: + # https://github.com/open-telemetry/opentelemetry-specification/pull/3272 + - rename_attributes: + attribute_map: + net.app.protocol.name: net.protocol.name + net.app.protocol.version: net.protocol.version + 1.19.0: + spans: + changes: + # https://github.com/open-telemetry/opentelemetry-specification/pull/3209 + - rename_attributes: + attribute_map: + faas.execution: faas.invocation_id + # https://github.com/open-telemetry/opentelemetry-specification/pull/3188 + - rename_attributes: + attribute_map: + faas.id: cloud.resource_id + # https://github.com/open-telemetry/opentelemetry-specification/pull/3190 + - rename_attributes: + attribute_map: + http.user_agent: user_agent.original + resources: + changes: + # https://github.com/open-telemetry/opentelemetry-specification/pull/3190 + - rename_attributes: + attribute_map: + browser.user_agent: user_agent.original + 1.18.0: + 1.17.0: + spans: + changes: + # https://github.com/open-telemetry/opentelemetry-specification/pull/2957 + - rename_attributes: + attribute_map: + messaging.consumer_id: messaging.consumer.id + messaging.protocol: net.app.protocol.name + messaging.protocol_version: net.app.protocol.version + messaging.destination: messaging.destination.name + messaging.temp_destination: messaging.destination.temporary + messaging.destination_kind: messaging.destination.kind + messaging.message_id: messaging.message.id + messaging.conversation_id: messaging.message.conversation_id + messaging.message_payload_size_bytes: messaging.message.payload_size_bytes + messaging.message_payload_compressed_size_bytes: messaging.message.payload_compressed_size_bytes + messaging.rabbitmq.routing_key: messaging.rabbitmq.destination.routing_key + messaging.kafka.message_key: messaging.kafka.message.key + messaging.kafka.partition: messaging.kafka.destination.partition + messaging.kafka.tombstone: messaging.kafka.message.tombstone + messaging.rocketmq.message_type: messaging.rocketmq.message.type + messaging.rocketmq.message_tag: messaging.rocketmq.message.tag + messaging.rocketmq.message_keys: messaging.rocketmq.message.keys + messaging.kafka.consumer_group: messaging.kafka.consumer.group + 1.16.0: + 1.15.0: + spans: + changes: + # https://github.com/open-telemetry/opentelemetry-specification/pull/2743 + - rename_attributes: + attribute_map: + http.retry_count: http.resend_count + 1.14.0: + 1.13.0: + spans: + changes: + # https://github.com/open-telemetry/opentelemetry-specification/pull/2614 + - rename_attributes: + attribute_map: + net.peer.ip: net.sock.peer.addr + net.host.ip: net.sock.host.addr + 1.12.0: + 1.11.0: + 1.10.0: + 1.9.0: + 1.8.0: + spans: + changes: + - rename_attributes: + attribute_map: + db.cassandra.keyspace: db.name + db.hbase.namespace: db.name + 1.7.0: + 1.6.1: + 1.5.0: + 1.4.0: From a47ccedec2da8ba4a49f464d35749ed583d4d870 Mon Sep 17 00:00:00 2001 From: Kian-Meng Ang Date: Thu, 23 May 2024 00:13:57 +0800 Subject: [PATCH 04/22] [chore] Fix typos (#1060) --- CHANGELOG.md | 2 +- Makefile | 2 +- docs/attributes-registry/cloud.md | 2 +- docs/faas/faas-spans.md | 2 +- docs/general/metrics.md | 2 +- docs/general/trace.md | 2 +- docs/resource/cloud.md | 2 +- docs/resource/faas.md | 2 +- internal/tools/schema_check.sh | 6 +++--- model/metrics/system-metrics.yaml | 2 +- model/registry/cloud.yaml | 2 +- model/registry/system.yaml | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f5c827c67..9a4f606d30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -734,7 +734,7 @@ This and earlier versions were released as part of [the Specification](https://g ([#2827](https://github.com/open-telemetry/opentelemetry-specification/pull/2827)) - Define semantic conventions yaml for non-otlp conventions ([#2850](https://github.com/open-telemetry/opentelemetry-specification/pull/2850)) -- Add more semantic convetion attributes of Apache RocketMQ +- Add more semantic convention attributes of Apache RocketMQ ([#2881](https://github.com/open-telemetry/opentelemetry-specification/pull/2881)) - Add `process.runtime.jvm.memory.usage_after_last_gc` metric to semantic conventions. ([#2901](https://github.com/open-telemetry/opentelemetry-specification/pull/2901)) diff --git a/Makefile b/Makefile index 25d122e43c..88a484eccb 100644 --- a/Makefile +++ b/Makefile @@ -52,7 +52,7 @@ markdown-link-check: # This target runs markdown-toc on all files that contain # a comment . # -# The recommended way to prepate a .md file for markdown-toc is +# The recommended way to prepare a .md file for markdown-toc is # to add these comments: # # diff --git a/docs/attributes-registry/cloud.md b/docs/attributes-registry/cloud.md index 1eac23995a..697c068fc3 100644 --- a/docs/attributes-registry/cloud.md +++ b/docs/attributes-registry/cloud.md @@ -34,7 +34,7 @@ The following well-known definitions MUST be used if you set this attribute and - **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 invokable with + 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, diff --git a/docs/faas/faas-spans.md b/docs/faas/faas-spans.md index 3726bdcd6c..1fa09f9a3d 100644 --- a/docs/faas/faas-spans.md +++ b/docs/faas/faas-spans.md @@ -60,7 +60,7 @@ The following well-known definitions MUST be used if you set this attribute and * **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 invokable with + 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, diff --git a/docs/general/metrics.md b/docs/general/metrics.md index b0aeeb3385..9d88590e12 100644 --- a/docs/general/metrics.md +++ b/docs/general/metrics.md @@ -190,7 +190,7 @@ over all attribute values SHOULD be equal to the **limit**. out of its **limit** should be called `entity.utilization`. For example, `system.memory.utilization` for the fraction of memory in use. Utilization can be with respect to a fixed limit or a soft limit. Utilization values are -represended as a ratio and are typically in the range `[0, 1]`, but may go above 1 +represented as a ratio and are typically in the range `[0, 1]`, but may go above 1 in case of exceeding a soft limit. - **time** - an instrument that measures passage of time should be called diff --git a/docs/general/trace.md b/docs/general/trace.md index d3feb0967b..ca2c0c845d 100644 --- a/docs/general/trace.md +++ b/docs/general/trace.md @@ -7,7 +7,7 @@ aliases: [docs/specs/semconv/general/trace-general] **Status**: [Mixed][DocumentStatus] -In OpenTelemetry spans can be created freely and it’s up to the implementor to +In OpenTelemetry spans can be created freely and it’s up to the implementer to annotate them with attributes specific to the represented operation. Spans represent specific operations in and between systems. Some of these operations represent calls that use well-known protocols like HTTP or database calls. diff --git a/docs/resource/cloud.md b/docs/resource/cloud.md index 1ce2c674f7..f2aa753bbe 100644 --- a/docs/resource/cloud.md +++ b/docs/resource/cloud.md @@ -37,7 +37,7 @@ The following well-known definitions MUST be used if you set this attribute and * **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 invokable with + 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, diff --git a/docs/resource/faas.md b/docs/resource/faas.md index 35cf6939f6..a08f19a1b7 100644 --- a/docs/resource/faas.md +++ b/docs/resource/faas.md @@ -54,7 +54,7 @@ The following well-known definitions MUST be used if you set this attribute and * **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 invokable with + 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, diff --git a/internal/tools/schema_check.sh b/internal/tools/schema_check.sh index e71451ef7c..68883941b1 100755 --- a/internal/tools/schema_check.sh +++ b/internal/tools/schema_check.sh @@ -11,7 +11,7 @@ BUILD_TOOL_SCHEMAS_VERSION=0.24.0 # List of versions that do not require or have a schema. declare -a skip_versions=("1.0.0" "1.0.1" "1.1.0" "1.2.0" "1.3.0" "1.6.0") -# Verifies remote avilability of a schema file. +# Verifies remote availability of a schema file. # # If the schema file is available for download, THEN we make sure it is exactly # what is in the repository. If the file is not available for download, @@ -32,7 +32,7 @@ verify_remote_availability() { rm verify$ver } -# Verifies remote avilability of a schema file in the current repository. +# Verifies remote availability of a schema file in the current repository. # # Args: # 1 - version number @@ -65,7 +65,7 @@ grep -o -e '## v[1-9].*\s' $root_dir/CHANGELOG.md | grep -o '[1-9].*' | while re verify_remote_availability "$ver" done -# Now check the content of all schema files in the ../shemas directory. +# Now check the content of all schema files in the ../schemas directory. for file in $schemas_dir/*; do # Filename is the version number. ver=$(basename $file) diff --git a/model/metrics/system-metrics.yaml b/model/metrics/system-metrics.yaml index 7d0ab1eb96..1b7a2cf28e 100644 --- a/model/metrics/system-metrics.yaml +++ b/model/metrics/system-metrics.yaml @@ -52,7 +52,7 @@ groups: unit: "{cpu}" attributes: [] - # sytem.memory.* metrics + # system.memory.* metrics - id: metric.system.memory.usage type: metric metric_name: system.memory.usage diff --git a/model/registry/cloud.yaml b/model/registry/cloud.yaml index 1fa9ba3982..ddb83338cc 100644 --- a/model/registry/cloud.yaml +++ b/model/registry/cloud.yaml @@ -77,7 +77,7 @@ groups: * **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 invokable with + 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, diff --git a/model/registry/system.yaml b/model/registry/system.yaml index 0766d4c8b2..d407f96d56 100644 --- a/model/registry/system.yaml +++ b/model/registry/system.yaml @@ -49,7 +49,7 @@ groups: stability: experimental brief: "The logical CPU number [0..n-1]" examples: [1] - # sytem.memory.* attribute group + # system.memory.* attribute group - id: registry.system.memory prefix: system.memory type: attribute_group From c54b6c8d06f4b2105ffda444f31439370f16e2d3 Mon Sep 17 00:00:00 2001 From: David Ashpole Date: Thu, 23 May 2024 12:03:04 -0400 Subject: [PATCH 05/22] Add experimental go runtime metrics semantic conventions (#981) --- .chloggen/go-runtime-metrics.yaml | 22 ++ .github/ISSUE_TEMPLATE/bug_report.yaml | 1 + .github/ISSUE_TEMPLATE/change_proposal.yaml | 1 + .github/ISSUE_TEMPLATE/new-conventions.yaml | 1 + docs/attributes-registry/README.md | 1 + docs/attributes-registry/go.md | 24 ++ docs/runtime/README.md | 1 + docs/runtime/go-metrics.md | 418 ++++++++++++++++++++ model/metrics/go-metrics.yaml | 97 +++++ model/registry/go.yaml | 25 ++ 10 files changed, 591 insertions(+) create mode 100644 .chloggen/go-runtime-metrics.yaml create mode 100644 docs/attributes-registry/go.md create mode 100644 docs/runtime/go-metrics.md create mode 100644 model/metrics/go-metrics.yaml create mode 100644 model/registry/go.yaml diff --git a/.chloggen/go-runtime-metrics.yaml b/.chloggen/go-runtime-metrics.yaml new file mode 100644 index 0000000000..72e6aafe9a --- /dev/null +++ b/.chloggen/go-runtime-metrics.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: new_component + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: go + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add new go namespace for Go runtime metrics + +# 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: [535] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index af486e4502..4aefd034cc 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -43,6 +43,7 @@ body: - area:file - area:gcp - area:gen-ai + - area:go - area:graphql - area:heroku - area:host diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index 3d00899d2d..2af8b08f70 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -36,6 +36,7 @@ body: - area:file - area:gcp - area:gen-ai + - area:go - area:graphql - area:heroku - area:host diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index 3985923373..0753cd8184 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -45,6 +45,7 @@ body: - area:file - area:gcp - area:gen-ai + - area:go - area:graphql - area:heroku - area:host diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index 66f750c036..a9253c650b 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -55,6 +55,7 @@ Currently, the following namespaces exist: - [File](file.md) - [GCP](gcp.md) - [Gen AI](gen-ai.md) +- [Go](go.md) - [GraphQL](graphql.md) - [Heroku](heroku.md) - [Host](host.md) diff --git a/docs/attributes-registry/go.md b/docs/attributes-registry/go.md new file mode 100644 index 0000000000..5c47c1a4cd --- /dev/null +++ b/docs/attributes-registry/go.md @@ -0,0 +1,24 @@ + + + + + +# Go + +## Go Attributes + +This document defines Go related attributes. + +| Attribute | Type | Description | Examples | Stability | +| ---------------- | ------ | ------------------- | ---------------- | ---------------------------------------------------------------- | +| `go.memory.type` | string | The type of memory. | `other`; `stack` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`go.memory.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 | +| ------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `stack` | Memory allocated from the heap that is reserved for stack space, whether or not it is currently in-use. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | Memory used by the Go runtime, excluding other categories of memory usage described in this enumeration. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +**[1]:** Computed from `/memory/classes/heap/stacks:bytes`. diff --git a/docs/runtime/README.md b/docs/runtime/README.md index 6285bc2c92..9762c5ba21 100644 --- a/docs/runtime/README.md +++ b/docs/runtime/README.md @@ -48,6 +48,7 @@ Also consider the semantic conventions when instrumenting runtime environments. - [JVM](jvm-metrics.md) +- [Go](go-metrics.md) ### Attributes diff --git a/docs/runtime/go-metrics.md b/docs/runtime/go-metrics.md new file mode 100644 index 0000000000..5641dc40a9 --- /dev/null +++ b/docs/runtime/go-metrics.md @@ -0,0 +1,418 @@ + + +# Semantic Conventions for Go Runtime Metrics + +**Status**: [Experimental][DocumentStatus] + +This document describes semantic conventions for Go runtime metrics in OpenTelemetry. +These metrics are obtained from Go's [`runtime/metrics`][RuntimeMetrics] package. + + + + + +- [Go Memory](#go-memory) + - [Metric: `go.memory.used`](#metric-gomemoryused) + - [Metric: `go.memory.limit`](#metric-gomemorylimit) + - [Metric: `go.memory.allocated`](#metric-gomemoryallocated) + - [Metric: `go.memory.allocations`](#metric-gomemoryallocations) +- [Go Garbage Collection](#go-garbage-collection) + - [Metric: `go.memory.gc.goal`](#metric-gomemorygcgoal) +- [Go Goroutines](#go-goroutines) + - [Metric: `go.goroutine.count`](#metric-gogoroutinecount) +- [Go Processor](#go-processor) + - [Metric: `go.processor.limit`](#metric-goprocessorlimit) +- [Go Scheduler](#go-scheduler) + - [Metric: `go.schedule.duration`](#metric-goscheduleduration) +- [Go Runtime Configuration](#go-runtime-configuration) + - [Metric: `go.config.gogc`](#metric-goconfiggogc) + + + +## Go Memory + +**Description:** Go runtime metrics captured under the namespace `go.memory.*` + +### Metric: `go.memory.used` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.memory.used` | UpDownCounter | `By` | Memory used by the Go runtime. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Computed from `(/memory/classes/total:bytes - /memory/classes/heap/released:bytes)`. + + + + + + + + + + + + + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`go.memory.type`](/docs/attributes-registry/go.md) | string | The type of memory. | `other`; `stack` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`go.memory.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 | +|---|---|---| +| `stack` | Memory allocated from the heap that is reserved for stack space, whether or not it is currently in-use. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | Memory used by the Go runtime, excluding other categories of memory usage described in this enumeration. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +**[1]:** Computed from `/memory/classes/heap/stacks:bytes`. + + + + + + + + + + +### Metric: `go.memory.limit` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.memory.limit` | UpDownCounter | `By` | Go runtime memory limit configured by the user, if a limit exists. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Computed from `/gc/gomemlimit:bytes`. This metric is excluded if the limit obtained from the Go runtime is math.MaxInt64. + + + + + + + + + + + + + + + + + + + + + +### Metric: `go.memory.allocated` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.memory.allocated` | Counter | `By` | Memory allocated to the heap by the application. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Computed from `/gc/heap/allocs:bytes`. + + + + + + + + + + + + + + + + + + + + + +### Metric: `go.memory.allocations` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.memory.allocations` | Counter | `{allocation}` | Count of allocations to the heap by the application. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Computed from `/gc/heap/allocs:objects`. + + + + + + + + + + + + + + + + + + + + + +## Go Garbage Collection + +**Description:** Go metrics captured under the namespace `go.memory.gc.*` + +### Metric: `go.memory.gc.goal` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.memory.gc.goal` | UpDownCounter | `By` | Heap size target for the end of the GC cycle. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Computed from `/gc/heap/goal:bytes`. + + + + + + + + + + + + + + + + + + + + + +## Go Goroutines + +**Description:** Go metrics captured under the namespace `go.goroutine.*` + +### Metric: `go.goroutine.count` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.goroutine.count` | UpDownCounter | `{goroutine}` | Count of live goroutines. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Computed from `/sched/goroutines:goroutines`. + + + + + + + + + + + + + + + + + + + + + +## Go Processor + +**Description:** Go metrics captured under the namespace `go.processor.*` + +### Metric: `go.processor.limit` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.processor.limit` | UpDownCounter | `{thread}` | The number of OS threads that can execute user-level Go code simultaneously. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Computed from `/sched/gomaxprocs:threads`. + + + + + + + + + + + + + + + + + + + + + +## Go Scheduler + +**Description:** Go metrics captured under the namespace `go.schedule.*` + +### Metric: `go.schedule.duration` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.schedule.duration` | Histogram | `s` | The time goroutines have spent in the scheduler in a runnable state before actually running. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Computed from `/sched/latencies:seconds`. Bucket boundaries are provided by the runtime, and are subject to change. + + + + + + + + + + + + + + + + + + + + + +## Go Runtime Configuration + +**Description:** Go metrics captured under the namespace `go.config.*` + +### Metric: `go.config.gogc` + +This metric is [recommended][MetricRecommended]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `go.config.gogc` | UpDownCounter | `%` | Heap size target percentage configured by the user, otherwise 100. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** The value range is [0.0,100.0]. Computed from `/gc/gogc:percent`. + + + + + + + + + + + + + + + + + + + + + +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[MetricRecommended]: /docs/general/metric-requirement-level.md#recommended +[RuntimeMetrics]: https://pkg.go.dev/runtime/metrics diff --git a/model/metrics/go-metrics.yaml b/model/metrics/go-metrics.yaml new file mode 100644 index 0000000000..8b7c14c79a --- /dev/null +++ b/model/metrics/go-metrics.yaml @@ -0,0 +1,97 @@ +groups: + - id: metric.go.memory.used + type: metric + metric_name: go.memory.used + brief: "Memory used by the Go runtime." + note: > + Computed from `(/memory/classes/total:bytes - /memory/classes/heap/released:bytes)`. + instrument: updowncounter + prefix: go.memory + unit: "By" + attributes: + - ref: go.memory.type + requirement_level: recommended + stability: experimental + + - id: metric.go.memory.limit + type: metric + metric_name: go.memory.limit + brief: "Go runtime memory limit configured by the user, if a limit exists." + note: > + Computed from `/gc/gomemlimit:bytes`. + This metric is excluded if the limit obtained from the Go runtime is math.MaxInt64. + instrument: updowncounter + unit: "By" + stability: experimental + + - id: metric.go.memory.allocated + type: metric + metric_name: go.memory.allocated + brief: "Memory allocated to the heap by the application." + note: > + Computed from `/gc/heap/allocs:bytes`. + instrument: counter + unit: "By" + stability: experimental + + - id: metric.go.memory.allocations + type: metric + metric_name: go.memory.allocations + brief: "Count of allocations to the heap by the application." + note: > + Computed from `/gc/heap/allocs:objects`. + instrument: counter + unit: "{allocation}" + stability: experimental + + - id: metric.go.memory.gc.goal + type: metric + metric_name: go.memory.gc.goal + brief: "Heap size target for the end of the GC cycle." + note: > + Computed from `/gc/heap/goal:bytes`. + instrument: updowncounter + unit: "By" + stability: experimental + + - id: metric.go.goroutine.count + type: metric + metric_name: go.goroutine.count + brief: "Count of live goroutines." + note: > + Computed from `/sched/goroutines:goroutines`. + instrument: updowncounter + unit: "{goroutine}" + stability: experimental + + - id: metric.go.processor.limit + type: metric + metric_name: go.processor.limit + brief: "The number of OS threads that can execute user-level Go code simultaneously." + note: > + Computed from `/sched/gomaxprocs:threads`. + instrument: updowncounter + unit: "{thread}" + stability: experimental + + - id: metric.go.schedule.duration + type: metric + metric_name: go.schedule.duration + brief: "The time goroutines have spent in the scheduler in a runnable state before actually running." + note: > + Computed from `/sched/latencies:seconds`. + Bucket boundaries are provided by the runtime, and are subject to change. + instrument: histogram + unit: "s" + stability: experimental + + - id: metric.go.config.gogc + type: metric + metric_name: go.config.gogc + brief: "Heap size target percentage configured by the user, otherwise 100." + note: > + The value range is [0.0,100.0]. + Computed from `/gc/gogc:percent`. + instrument: updowncounter + unit: "%" + stability: experimental diff --git a/model/registry/go.yaml b/model/registry/go.yaml new file mode 100644 index 0000000000..d599102301 --- /dev/null +++ b/model/registry/go.yaml @@ -0,0 +1,25 @@ +groups: + - id: registry.go + type: attribute_group + prefix: go + brief: > + This document defines Go related attributes. + attributes: + - id: memory.type + stability: experimental + type: + allow_custom_values: false + members: + - id: stack + value: 'stack' + brief: 'Memory allocated from the heap that is reserved for stack space, whether or not it is currently in-use.' + note: > + Computed from `/memory/classes/heap/stacks:bytes`. + stability: experimental + - id: other + value: 'other' + brief: 'Memory used by the Go runtime, excluding other categories of memory usage described in this enumeration.' + stability: experimental + requirement_level: recommended + brief: The type of memory. + examples: ["other", "stack"] From e29907969685fb784c653e3e083da21f3eba644b Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Thu, 23 May 2024 18:04:41 +0200 Subject: [PATCH 06/22] [chore] Fix links to Opt-In in container-metrics.md (#1065) --- docs/system/container-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/system/container-metrics.md b/docs/system/container-metrics.md index 5af0f3cf47..ec2666f9ac 100644 --- a/docs/system/container-metrics.md +++ b/docs/system/container-metrics.md @@ -200,4 +200,4 @@ This metric is [opt-in][MetricOptIn]. [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md -[MetricOptIn]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/metrics/metric-requirement-level.md#opt-in +[MetricOptIn]: https://github.com/open-telemetry/semantic-conventions/blob/v1.26.0/docs/general/metric-requirement-level.md#opt-in From dadb51b7c3f991f7879357eebc69cd30f6dcd800 Mon Sep 17 00:00:00 2001 From: Michael Safyan Date: Thu, 23 May 2024 17:40:28 -0500 Subject: [PATCH 07/22] [chore] Improve the Makefile to make it more robust to other environments. (#1063) --- Makefile | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 88a484eccb..1b6b4f499d 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,17 @@ CHLOGGEN_CONFIG := .chloggen/config.yaml SEMCONVGEN_VERSION=0.24.0 WEAVER_VERSION=0.2.0 +# From where to resolve the containers (e.g. "otel/weaver"). +CONTAINER_REPOSITORY=docker.io + +# Per container overrides for the repository resolution. +WEAVER_CONTAINER_REPOSITORY=$(CONTAINER_REPOSITORY) +SEMCONVGEN_CONTAINER_REPOSITORY=$(CONTAINER_REPOSITORY) + +# Fully qualified references to containers used in this Makefile. +WEAVER_CONTAINER=$(WEAVER_CONTAINER_REPOSITORY)/otel/weaver:$(WEAVER_VERSION) +SEMCONVGEN_CONTAINER=$(SEMCONVGEN_CONTAINER_REPOSITORY)/otel/semconvgen:$(SEMCONVGEN_VERSION) + # TODO: add `yamllint` step to `all` after making sure it works on Mac. .PHONY: all all: install-tools markdownlint markdown-link-check misspell table-check compatibility-check schema-check \ @@ -96,7 +107,7 @@ yamllint: .PHONY: table-generation table-generation: docker run --rm -v $(PWD)/model:/source -v $(PWD)/docs:/spec -v $(PWD)/templates:/weaver/templates \ - otel/weaver:${WEAVER_VERSION} registry update-markdown \ + $(WEAVER_CONTAINER) registry update-markdown \ --registry=/source \ --attribute-registry-base-url=/docs/attributes-registry \ --templates=/weaver/templates \ @@ -107,7 +118,7 @@ table-generation: .PHONY: attribute-registry-generation attribute-registry-generation: docker run --rm -v $(PWD)/model:/source -v $(PWD)/docs:/spec -v $(PWD)/templates:/weaver/templates \ - otel/weaver:${WEAVER_VERSION} registry generate \ + $(WEAVER_CONTAINER) registry generate \ --registry=/source \ --templates=/weaver/templates \ markdown \ @@ -118,7 +129,7 @@ attribute-registry-generation: .PHONY: table-check table-check: docker run --rm -v $(PWD)/model:/source -v $(PWD)/docs:/spec -v $(PWD)/templates:/weaver/templates \ - otel/weaver:${WEAVER_VERSION} registry update-markdown \ + $(WEAVER_CONTAINER) registry update-markdown \ --registry=/source \ --attribute-registry-base-url=/docs/attributes-registry \ --templates=/weaver/templates \ @@ -126,11 +137,25 @@ table-check: --dry-run \ /spec -LATEST_RELEASED_SEMCONV_VERSION := $(shell git describe --tags --abbrev=0 | sed 's/v//g') + +# A previous iteration of calculating "LATEST_RELEASED_SEMCONV_VERSION" +# relied on "git describe". However, that approach does not work with +# light-weight developer forks/branches that haven't synced tags. Hence the +# more complex implementation of this using "git ls-remote". +# +# The output of "git ls-remote" looks something like this: +# +# e531541025992b68177a68b87628c5dc75c4f7d9 refs/tags/v1.21.0 +# cadfe53949266d33476b15ca52c92f682600a29c refs/tags/v1.22.0 +# ... +# +# .. which is why some additional processing is required to extract the +# latest version number and strip off the "v" prefix. +LATEST_RELEASED_SEMCONV_VERSION := $(shell git ls-remote --tags https://github.com/open-telemetry/semantic-conventions.git | cut -f 2 | sort --reverse | head -n 1 | tr '/' ' ' | cut -d ' ' -f 3 | sed 's/v//g') .PHONY: compatibility-check compatibility-check: docker run --rm -v $(PWD)/model:/source -v $(PWD)/docs:/spec --pull=always \ - otel/semconvgen:$(SEMCONVGEN_VERSION) -f /source compatibility --previous-version $(LATEST_RELEASED_SEMCONV_VERSION) + $(SEMCONVGEN_CONTAINER) -f /source compatibility --previous-version $(LATEST_RELEASED_SEMCONV_VERSION) .PHONY: schema-check schema-check: From c53f76f661a98836f824d27d33b5f4b24dfa5bc4 Mon Sep 17 00:00:00 2001 From: Povilas Versockas Date: Fri, 24 May 2024 15:24:15 +0300 Subject: [PATCH 08/22] add k8s.container.status.current_waiting_reason resource attribute (#997) Co-authored-by: Chris Mark Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> --- .chloggen/k8s-waiting-status.yaml | 22 ++++++++++++++++++++++ docs/attributes-registry/k8s.md | 1 + docs/resource/k8s.md | 1 + model/registry/k8s.yaml | 7 +++++++ model/resource/k8s.yaml | 1 + 5 files changed, 32 insertions(+) create mode 100755 .chloggen/k8s-waiting-status.yaml diff --git a/.chloggen/k8s-waiting-status.yaml b/.chloggen/k8s-waiting-status.yaml new file mode 100755 index 0000000000..850b089300 --- /dev/null +++ b/.chloggen/k8s-waiting-status.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: "k8s" + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: "add k8s.container.status.current_waiting_reason resource attribute" + +# 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: [996] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/attributes-registry/k8s.md b/docs/attributes-registry/k8s.md index b9bc225333..2bc73fa8ea 100644 --- a/docs/attributes-registry/k8s.md +++ b/docs/attributes-registry/k8s.md @@ -19,6 +19,7 @@ Kubernetes resource attributes. | `k8s.cluster.uid` | string | A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.container.name` | 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` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.container.restart_count` | 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. | | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `k8s.container.status.current_waiting_reason` | string | Current waiting reason of the Container. | `CrashLoopBackOff` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.container.status.last_terminated_reason` | string | Last terminated reason of the Container. | `Evicted`; `Error` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.cronjob.name` | string | The name of the CronJob. | `opentelemetry` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.cronjob.uid` | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/resource/k8s.md b/docs/resource/k8s.md index e887593849..458a79fdb5 100644 --- a/docs/resource/k8s.md +++ b/docs/resource/k8s.md @@ -167,6 +167,7 @@ to a running container. |---|---|---|---|---|---| | [`k8s.container.name`](/docs/attributes-registry/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` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`k8s.container.restart_count`](/docs/attributes-registry/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` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`k8s.container.status.current_waiting_reason`](/docs/attributes-registry/k8s.md) | string | Current waiting reason of the Container. | `CrashLoopBackOff` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`k8s.container.status.last_terminated_reason`](/docs/attributes-registry/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/k8s.yaml b/model/registry/k8s.yaml index 013ede5c03..e38a1dadff 100644 --- a/model/registry/k8s.yaml +++ b/model/registry/k8s.yaml @@ -104,6 +104,13 @@ groups: brief: > Last terminated reason of the Container. examples: ["Evicted", "Error"] + - id: container.status.current_waiting_reason + type: string + stability: experimental + brief: > + Current waiting reason of the Container. + examples: ["CrashLoopBackOff"] + - id: replicaset.uid type: string stability: experimental diff --git a/model/resource/k8s.yaml b/model/resource/k8s.yaml index d94425e007..8a874b152a 100644 --- a/model/resource/k8s.yaml +++ b/model/resource/k8s.yaml @@ -46,6 +46,7 @@ groups: - ref: k8s.container.name - ref: k8s.container.restart_count - ref: k8s.container.status.last_terminated_reason + - ref: k8s.container.status.current_waiting_reason - id: k8s.replicaset prefix: k8s.replicaset From 488128d859d75a8ac47794668dde49065c256f43 Mon Sep 17 00:00:00 2001 From: Marylia Gutierrez Date: Tue, 28 May 2024 11:06:16 -0400 Subject: [PATCH 09/22] [chore]: update order of db systems on readme (#1077) --- docs/attributes-registry/db.md | 76 ++++----- docs/database/database-metrics.md | 76 ++++----- docs/database/database-spans.md | 76 ++++----- docs/database/dynamodb.md | 74 ++++----- model/registry/db.yaml | 268 +++++++++++++++--------------- 5 files changed, 285 insertions(+), 285 deletions(-) diff --git a/docs/attributes-registry/db.md b/docs/attributes-registry/db.md index 6b6d3743bb..9c4834bbf1 100644 --- a/docs/attributes-registry/db.md +++ b/docs/attributes-registry/db.md @@ -26,7 +26,7 @@ This group defines the attributes used to describe telemetry in the context of d | `db.operation.name` | string | The name of the operation or command being executed. [3] | `findAndModify`; `HMSET`; `SELECT` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `db.query.parameter.` | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [4] | `someval`; `55` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `db.query.text` | string | The database query being executed. | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db.system` | string | The database management system (DBMS) product as identified by the client instrumentation. [5] | `other_sql`; `mssql`; `mssqlcompact` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db.system` | string | The database management system (DBMS) product as identified by the client instrumentation. [5] | `other_sql`; `adabas`; `cache` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. @@ -54,57 +54,57 @@ If a parameter has no name and instead is referenced only by index, then `` | Value | Description | Stability | | --------------- | -------------------------------------------------- | ---------------------------------------------------------------- | | `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mssqlcompact` | Microsoft SQL Server Compact | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cloudscape` | Cloudscape | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `firstsql` | FirstSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cloudscape` | Cloudscape | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `coldfusion` | ColdFusion IMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `derby` | Apache Derby | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `filemaker` | FileMaker | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `firstsql` | FirstSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `interbase` | InterBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `mariadb` | MariaDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mssqlcompact` | Microsoft SQL Server Compact | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sqlite` | SQLite | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sybase` | Sybase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `teradata` | Teradata | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `coldfusion` | ColdFusion IMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `trino` | Trino | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## Db Cassandra Attributes diff --git a/docs/database/database-metrics.md b/docs/database/database-metrics.md index 2adf2f24e9..77b3cf51d9 100644 --- a/docs/database/database-metrics.md +++ b/docs/database/database-metrics.md @@ -96,7 +96,7 @@ of `[ 0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10 ]`. | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`db.system`](/docs/attributes-registry/db.md) | string | The database management system (DBMS) product as identified by the client instrumentation. [1] | `other_sql`; `mssql`; `mssqlcompact` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.system`](/docs/attributes-registry/db.md) | string | The database management system (DBMS) product as identified by the client instrumentation. [1] | `other_sql`; `adabas`; `cache` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.collection.name`](/docs/attributes-registry/db.md) | string | The name of a collection (table, container) within the database. [2] | `public.users`; `customers` | `Conditionally Required` [3] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.namespace`](/docs/attributes-registry/db.md) | string | The name of the database, fully qualified within the server address and port. [4] | `customers`; `test.users` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the operation or command being executed. [5] | `findAndModify`; `HMSET`; `SELECT` | `Conditionally Required` [6] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -139,57 +139,57 @@ If a database operation involved multiple network calls (for example retries), t | Value | Description | Stability | |---|---|---| | `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mssqlcompact` | Microsoft SQL Server Compact | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cloudscape` | Cloudscape | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `firstsql` | FirstSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cloudscape` | Cloudscape | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `coldfusion` | ColdFusion IMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `derby` | Apache Derby | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `filemaker` | FileMaker | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `firstsql` | FirstSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `interbase` | InterBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `mariadb` | MariaDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mssqlcompact` | Microsoft SQL Server Compact | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sqlite` | SQLite | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sybase` | Sybase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `teradata` | Teradata | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `coldfusion` | ColdFusion IMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `trino` | Trino | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `error.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/docs/database/database-spans.md b/docs/database/database-spans.md index 0f74b9231b..09d4e0be08 100644 --- a/docs/database/database-spans.md +++ b/docs/database/database-spans.md @@ -84,7 +84,7 @@ These attributes will usually be the same for all operations performed over the | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`db.system`](/docs/attributes-registry/db.md) | string | The database management system (DBMS) product as identified by the client instrumentation. [1] | `other_sql`; `mssql`; `mssqlcompact` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.system`](/docs/attributes-registry/db.md) | string | The database management system (DBMS) product as identified by the client instrumentation. [1] | `other_sql`; `adabas`; `cache` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.collection.name`](/docs/attributes-registry/db.md) | string | The name of a collection (table, container) within the database. [2] | `public.users`; `customers` | `Conditionally Required` [3] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.namespace`](/docs/attributes-registry/db.md) | string | The name of the database, fully qualified within the server address and port. [4] | `customers`; `test.users` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the operation or command being executed. [5] | `findAndModify`; `HMSET`; `SELECT` | `Conditionally Required` [6] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -134,57 +134,57 @@ If a parameter has no name and instead is referenced only by index, then `` | Value | Description | Stability | |---|---|---| | `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mssqlcompact` | Microsoft SQL Server Compact | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cloudscape` | Cloudscape | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `firstsql` | FirstSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cloudscape` | Cloudscape | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `coldfusion` | ColdFusion IMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `derby` | Apache Derby | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `filemaker` | FileMaker | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `firstsql` | FirstSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `interbase` | InterBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `mariadb` | MariaDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mssqlcompact` | Microsoft SQL Server Compact | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sqlite` | SQLite | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sybase` | Sybase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `teradata` | Teradata | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `coldfusion` | ColdFusion IMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `trino` | Trino | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `error.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/docs/database/dynamodb.md b/docs/database/dynamodb.md index 8ba517a052..b047b7644d 100644 --- a/docs/database/dynamodb.md +++ b/docs/database/dynamodb.md @@ -36,57 +36,57 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| | `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mssqlcompact` | Microsoft SQL Server Compact | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cloudscape` | Cloudscape | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `firstsql` | FirstSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cloudscape` | Cloudscape | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `coldfusion` | ColdFusion IMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `derby` | Apache Derby | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `filemaker` | FileMaker | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `firstsql` | FirstSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `interbase` | InterBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `mariadb` | MariaDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mssqlcompact` | Microsoft SQL Server Compact | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sqlite` | SQLite | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sybase` | Sybase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `teradata` | Teradata | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `coldfusion` | ColdFusion IMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `trino` | Trino | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/db.yaml b/model/registry/db.yaml index 48bb854ebe..f23c9ed5ef 100644 --- a/model/registry/db.yaml +++ b/model/registry/db.yaml @@ -70,94 +70,110 @@ groups: value: 'other_sql' brief: 'Some other SQL database. Fallback only. See notes.' stability: experimental - - id: mssql - value: 'mssql' - brief: 'Microsoft SQL Server' - stability: experimental - - id: mssqlcompact - value: 'mssqlcompact' - brief: 'Microsoft SQL Server Compact' - stability: experimental - - id: mysql - value: 'mysql' - brief: 'MySQL' - stability: experimental - - id: oracle - value: 'oracle' - brief: 'Oracle Database' - stability: experimental - - id: db2 - value: 'db2' - brief: 'IBM Db2' + - id: adabas + value: 'adabas' + brief: 'Adabas (Adaptable Database System)' stability: experimental - - id: postgresql - value: 'postgresql' - brief: 'PostgreSQL' + - id: cache + value: 'cache' + brief: 'InterSystems Caché' stability: experimental - - id: redshift - value: 'redshift' - brief: 'Amazon Redshift' + - id: cassandra + value: 'cassandra' + brief: 'Apache Cassandra' stability: experimental - - id: hive - value: 'hive' - brief: 'Apache Hive' + - id: clickhouse + value: 'clickhouse' + brief: 'ClickHouse' stability: experimental - id: cloudscape value: 'cloudscape' brief: 'Cloudscape' stability: experimental - - id: hsqldb - value: 'hsqldb' - brief: 'HyperSQL DataBase' + - id: cockroachdb + value: 'cockroachdb' + brief: 'CockroachDB' stability: experimental - - id: progress - value: 'progress' - brief: 'Progress Database' + - id: coldfusion + value: 'coldfusion' + brief: 'ColdFusion IMQ' stability: experimental - - id: maxdb - value: 'maxdb' - brief: 'SAP MaxDB' + - id: cosmosdb + value: 'cosmosdb' + brief: 'Microsoft Azure Cosmos DB' stability: experimental - - id: hanadb - value: 'hanadb' - brief: 'SAP HANA' + - id: couchbase + value: 'couchbase' + brief: 'Couchbase' stability: experimental - - id: ingres - value: 'ingres' - brief: 'Ingres' + - id: couchdb + value: 'couchdb' + brief: 'CouchDB' stability: experimental - - id: firstsql - value: 'firstsql' - brief: 'FirstSQL' + - id: db2 + value: 'db2' + brief: 'IBM Db2' + stability: experimental + - id: derby + value: 'derby' + brief: 'Apache Derby' + stability: experimental + - id: dynamodb + value: 'dynamodb' + brief: 'Amazon DynamoDB' stability: experimental - id: edb value: 'edb' brief: 'EnterpriseDB' stability: experimental - - id: cache - value: 'cache' - brief: 'InterSystems Caché' + - id: elasticsearch + value: 'elasticsearch' + brief: 'Elasticsearch' stability: experimental - - id: adabas - value: 'adabas' - brief: 'Adabas (Adaptable Database System)' + - id: filemaker + value: 'filemaker' + brief: 'FileMaker' stability: experimental - id: firebird value: 'firebird' brief: 'Firebird' stability: experimental - - id: derby - value: 'derby' - brief: 'Apache Derby' + - id: firstsql + value: 'firstsql' + brief: 'FirstSQL' stability: experimental - - id: filemaker - value: 'filemaker' - brief: 'FileMaker' + - id: geode + value: 'geode' + brief: 'Apache Geode' + stability: experimental + - id: h2 + value: 'h2' + brief: 'H2' + stability: experimental + - id: hanadb + value: 'hanadb' + brief: 'SAP HANA' + stability: experimental + - id: hbase + value: 'hbase' + brief: 'Apache HBase' + stability: experimental + - id: hive + value: 'hive' + brief: 'Apache Hive' + stability: experimental + - id: hsqldb + value: 'hsqldb' + brief: 'HyperSQL DataBase' stability: experimental - id: informix value: 'informix' brief: 'Informix' stability: experimental + - id: ingres + value: 'ingres' + brief: 'Ingres' + stability: experimental - id: instantdb value: 'instantdb' brief: 'InstantDB' @@ -170,10 +186,46 @@ groups: value: 'mariadb' brief: 'MariaDB' stability: experimental + - id: maxdb + value: 'maxdb' + brief: 'SAP MaxDB' + stability: experimental + - id: memcached + value: 'memcached' + brief: 'Memcached' + stability: experimental + - id: mongodb + value: 'mongodb' + brief: 'MongoDB' + stability: experimental + - id: mssql + value: 'mssql' + brief: 'Microsoft SQL Server' + stability: experimental + - id: mssqlcompact + value: 'mssqlcompact' + brief: 'Microsoft SQL Server Compact' + stability: experimental + - id: mysql + value: 'mysql' + brief: 'MySQL' + stability: experimental + - id: neo4j + value: 'neo4j' + brief: 'Neo4j' + stability: experimental - id: netezza value: 'netezza' brief: 'Netezza' stability: experimental + - id: opensearch + value: 'opensearch' + brief: 'OpenSearch' + stability: experimental + - id: oracle + value: 'oracle' + brief: 'Oracle Database' + stability: experimental - id: pervasive value: 'pervasive' brief: 'Pervasive PSQL' @@ -182,6 +234,26 @@ groups: value: 'pointbase' brief: 'PointBase' stability: experimental + - id: postgresql + value: 'postgresql' + brief: 'PostgreSQL' + stability: experimental + - id: progress + value: 'progress' + brief: 'Progress Database' + stability: experimental + - id: redis + value: 'redis' + brief: 'Redis' + stability: experimental + - id: redshift + value: 'redshift' + brief: 'Amazon Redshift' + stability: experimental + - id: spanner + value: 'spanner' + brief: 'Cloud Spanner' + stability: experimental - id: sqlite value: 'sqlite' brief: 'SQLite' @@ -194,86 +266,14 @@ groups: value: 'teradata' brief: 'Teradata' stability: experimental - - id: vertica - value: 'vertica' - brief: 'Vertica' - stability: experimental - - id: h2 - value: 'h2' - brief: 'H2' - stability: experimental - - id: coldfusion - value: 'coldfusion' - brief: 'ColdFusion IMQ' - stability: experimental - - id: cassandra - value: 'cassandra' - brief: 'Apache Cassandra' - stability: experimental - - id: hbase - value: 'hbase' - brief: 'Apache HBase' - stability: experimental - - id: mongodb - value: 'mongodb' - brief: 'MongoDB' - stability: experimental - - id: redis - value: 'redis' - brief: 'Redis' - stability: experimental - - id: couchbase - value: 'couchbase' - brief: 'Couchbase' - stability: experimental - - id: couchdb - value: 'couchdb' - brief: 'CouchDB' - stability: experimental - - id: cosmosdb - value: 'cosmosdb' - brief: 'Microsoft Azure Cosmos DB' - stability: experimental - - id: dynamodb - value: 'dynamodb' - brief: 'Amazon DynamoDB' - stability: experimental - - id: neo4j - value: 'neo4j' - brief: 'Neo4j' - stability: experimental - - id: geode - value: 'geode' - brief: 'Apache Geode' - stability: experimental - - id: elasticsearch - value: 'elasticsearch' - brief: 'Elasticsearch' - stability: experimental - - id: memcached - value: 'memcached' - brief: 'Memcached' - stability: experimental - - id: cockroachdb - value: 'cockroachdb' - brief: 'CockroachDB' - stability: experimental - - id: opensearch - value: 'opensearch' - brief: 'OpenSearch' - stability: experimental - - id: clickhouse - value: 'clickhouse' - brief: 'ClickHouse' - stability: experimental - - id: spanner - value: 'spanner' - brief: 'Cloud Spanner' - stability: experimental - id: trino value: 'trino' brief: 'Trino' stability: experimental + - id: vertica + value: 'vertica' + brief: 'Vertica' + stability: experimental stability: experimental - id: client.connections.state stability: experimental From 61870711f9e7c13c3a058215a15e50877dd92d77 Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Tue, 28 May 2024 16:47:51 +0100 Subject: [PATCH 10/22] Update database span name: clarify `target` and remove fallback (#1069) Co-authored-by: Trask Stalnaker Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> --- .chloggen/1069.yaml | 7 +++++++ docs/database/database-spans.md | 17 +++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 .chloggen/1069.yaml diff --git a/.chloggen/1069.yaml b/.chloggen/1069.yaml new file mode 100644 index 0000000000..24a7720e98 --- /dev/null +++ b/.chloggen/1069.yaml @@ -0,0 +1,7 @@ +change_type: enhancement + +component: db + +note: 'Update database span name: clarify that target depends on the operation and should not be set when corresponding data is not available.' + +issues: [1045] diff --git a/docs/database/database-spans.md b/docs/database/database-spans.md index 09d4e0be08..53f2156bc9 100644 --- a/docs/database/database-spans.md +++ b/docs/database/database-spans.md @@ -56,20 +56,25 @@ Database spans MUST follow the overall [guidelines for span names](https://githu The **span name** SHOULD be `{db.operation.name} {target}` if there is a -(low-cardinality) `db.operation.name` available (see below for the exact definition of the [`{target}`](#target-placeholder) placeholder). +(low-cardinality) `{db.operation.name}` available (see below for the exact definition of the [`{target}`](#target-placeholder) placeholder). If there is no (low-cardinality) `db.operation.name` available, database span names SHOULD be [`{target}`](#target-placeholder). +If neither `{db.operation.name}` nor `{target}` are available, span name SHOULD be `{db.system}`. + Semantic conventions for individual database systems MAY specify different span name format. -The `{target}` SHOULD adhere to one of the following values, arranged in prioritized order, provided they are accessible: +The `{target}` SHOULD describe the entity that the operation is performed against +and SHOULD adhere to one of the following values, provided they are accessible: + +- `db.collection.name` SHOULD be used for data manipulation operations or operations on database collections. +- `db.namespace` SHOULD be used for operations on a specific database namespace. +- `server.address:server.port` SHOULD be used for other operations not targeting any specific database(s) or collection(s) -- `db.collection.name` -- `db.namespace` -- `server.address:server.port` -- `db.system` +If a corresponding `{target}` value is not available for a specific operation, the instrumentation SHOULD omit the `{target}`. +For example, for an operation describing SQL query on an anonymous table like `SELECT * FROM (SELECT * FROM table) t`, span name should be `SELECT`. ## Common attributes From cb771da92639b164d48c2725150503820e6e9145 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Tue, 28 May 2024 11:14:47 -0700 Subject: [PATCH 11/22] Mention how to capture collection and operation names from query text in the registry (#1070) Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> --- .chloggen/1070.yaml | 22 ++++++++++++++++++++++ docs/attributes-registry/db.md | 5 +++-- docs/database/cassandra.md | 9 +++++---- docs/database/cosmosdb.md | 7 ++++--- docs/database/couchdb.md | 2 +- docs/database/database-metrics.md | 9 +++++---- docs/database/database-spans.md | 9 +++++---- docs/database/hbase.md | 3 ++- docs/database/mongodb.md | 6 +++--- docs/database/mssql.md | 8 ++++---- docs/database/redis.md | 3 ++- docs/database/sql.md | 8 ++++---- model/db-common.yaml | 4 ++-- model/metrics/database-metrics.yaml | 4 ++-- model/registry/db.yaml | 8 +++++--- model/trace/database.yaml | 5 ++--- 16 files changed, 71 insertions(+), 41 deletions(-) create mode 100644 .chloggen/1070.yaml diff --git a/.chloggen/1070.yaml b/.chloggen/1070.yaml new file mode 100644 index 0000000000..bdab30dadf --- /dev/null +++ b/.chloggen/1070.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: db + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Mention how to capture collection and operation names from query text in the registry + +# 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: [ 1070 ] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/attributes-registry/db.md b/docs/attributes-registry/db.md index 9c4834bbf1..b04d6bed2e 100644 --- a/docs/attributes-registry/db.md +++ b/docs/attributes-registry/db.md @@ -28,14 +28,15 @@ This group defines the attributes used to describe telemetry in the context of d | `db.query.text` | string | The database query being executed. | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `db.system` | string | The database management system (DBMS) product as identified by the client instrumentation. [5] | `other_sql`; `adabas`; `cache` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. **[2]:** If a database system has multiple namespace components, they SHOULD be concatenated (potentially using database system specific conventions) from most general to most specific namespace component, and more specific namespaces SHOULD NOT be captured without the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid. Semantic conventions for individual database systems SHOULD document what `db.namespace` means in the context of that system. It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. **[3]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. **[4]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. diff --git a/docs/database/cassandra.md b/docs/database/cassandra.md index f16a173170..3074faf11a 100644 --- a/docs/database/cassandra.md +++ b/docs/database/cassandra.md @@ -40,16 +40,17 @@ described on this page. | [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [11] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [12] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. -**[2]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.collection.name`, then it SHOULD be the first collection name found in the query. +**[2]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name found in the query. **[3]:** For commands that switch the keyspace, this SHOULD be set to the target keyspace (even if the command fails). **[4]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. -**[5]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[5]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[6]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index 76ad96edb2..d48769a0bf 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -43,14 +43,15 @@ Cosmos DB instrumentation includes call-level (public API) surface spans and net | [`user_agent.original`](/docs/attributes-registry/user-agent.md) | string | Full user-agent string is generated by Cosmos DB SDK [10] | `cosmos-netstandard-sdk/3.23.0\|3.23.1\|1\|X64\|Linux 5.4.0-1098-azure 104 18\|.NET Core 3.1.32\|S\|` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [11] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. **[2]:** **[3]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. -**[4]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[4]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[5]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/couchdb.md b/docs/database/couchdb.md index 40039a35b2..1b897b80a8 100644 --- a/docs/database/couchdb.md +++ b/docs/database/couchdb.md @@ -33,7 +33,7 @@ described on this page. **[2]:** In **CouchDB**, `db.operation.name` should be set to the HTTP method + the target REST route according to the API reference documentation. For example, when retrieving a document, `db.operation.name` would be set to (literally, i.e., without replacing the placeholders with concrete values): [`GET /{db}/{docid}`](https://docs.couchdb.org/en/stable/api/document/common.html#get--db-docid). -**[3]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[3]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[4]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/database-metrics.md b/docs/database/database-metrics.md index 77b3cf51d9..667c11e5a0 100644 --- a/docs/database/database-metrics.md +++ b/docs/database/database-metrics.md @@ -108,18 +108,19 @@ of `[ 0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10 ]`. **[1]:** The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system` is set to `postgresql` based on the instrumentation's best knowledge. -**[2]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[2]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. -**[3]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.collection.name`, then it SHOULD be the first collection name found in the query. +**[3]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name in the query. **[4]:** If a database system has multiple namespace components, they SHOULD be concatenated (potentially using database system specific conventions) from most general to most specific namespace component, and more specific namespaces SHOULD NOT be captured without the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid. Semantic conventions for individual database systems SHOULD document what `db.namespace` means in the context of that system. It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. **[5]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. -**[6]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[6]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[7]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/database-spans.md b/docs/database/database-spans.md index 53f2156bc9..d5f7a34006 100644 --- a/docs/database/database-spans.md +++ b/docs/database/database-spans.md @@ -103,18 +103,19 @@ These attributes will usually be the same for all operations performed over the **[1]:** The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system` is set to `postgresql` based on the instrumentation's best knowledge. -**[2]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[2]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. -**[3]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.collection.name`, then it SHOULD be the first collection name found in the query. +**[3]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name found in the query. **[4]:** If a database system has multiple namespace components, they SHOULD be concatenated (potentially using database system specific conventions) from most general to most specific namespace component, and more specific namespaces SHOULD NOT be captured without the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid. Semantic conventions for individual database systems SHOULD document what `db.namespace` means in the context of that system. It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. **[5]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. -**[6]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[6]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[7]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/hbase.md b/docs/database/hbase.md index 91a42579fc..3e83f1a6ea 100644 --- a/docs/database/hbase.md +++ b/docs/database/hbase.md @@ -35,8 +35,9 @@ described on this page. **[2]:** When performing table-related operations, the instrumentations SHOULD extract the namespace from the table name according to the [HBase table naming conventions](https://hbase.apache.org/book.html#namespace_creation). If namespace is not provided, instrumentation SHOULD set `db.namespace` value to `default`. **[3]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. -**[4]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[4]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[5]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/mongodb.md b/docs/database/mongodb.md index 592ed984e5..7424e675cf 100644 --- a/docs/database/mongodb.md +++ b/docs/database/mongodb.md @@ -30,14 +30,14 @@ described on this page. | [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [6] | `80`; `8080`; `443` | `Conditionally Required` [7] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [8] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -**[1]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. **[2]:** **[3]:** See [MongoDB database commands](https://www.mongodb.com/docs/manual/reference/command/). -**[4]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[4]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[5]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/mssql.md b/docs/database/mssql.md index ec7e8e56ad..faae65a4c9 100644 --- a/docs/database/mssql.md +++ b/docs/database/mssql.md @@ -32,10 +32,10 @@ described on this page. | [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [10] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [11] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. -**[2]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.collection.name`, then it SHOULD be the first collection name found in the query. +**[2]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name found in the query. **[3]:** When connecting to a default instance, `db.namespace` SHOULD be set to the name of the database. When connecting to a [named instance](https://learn.microsoft.com/sql/connect/jdbc/building-the-connection-url#named-and-multiple-sql-server-instances), `db.namespace` SHOULD be set to the combination of instance and database name following the `{instance_name}.{database_name}` pattern. For commands that switch the database, this SHOULD be set to the target database (even if the command fails). @@ -43,7 +43,7 @@ For commands that switch the database, this SHOULD be set to the target database **[4]:** This SHOULD be the SQL command such as `SELECT`, `INSERT`, `UPDATE`, `CREATE`, `DROP`. In the case of `EXEC`, this SHOULD be the stored procedure name that is being executed. -**[5]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[5]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[6]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/redis.md b/docs/database/redis.md index c5f5772b4a..696d248c6f 100644 --- a/docs/database/redis.md +++ b/docs/database/redis.md @@ -38,8 +38,9 @@ Instrumentations SHOULD NOT set this attribute if capturing it would require add For commands that switch the database, this SHOULD be set to the target database (even if the command fails). **[2]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. -**[3]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[3]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[4]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/docs/database/sql.md b/docs/database/sql.md index 7b5473a5b8..d9b9d42e00 100644 --- a/docs/database/sql.md +++ b/docs/database/sql.md @@ -30,10 +30,10 @@ described on this page. | [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [10] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [11] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. -It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. -**[2]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.collection.name`, then it SHOULD be the first collection name found in the query. +**[2]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name found in the query. **[3]:** If a database system has multiple namespace components, they SHOULD be concatenated (potentially using database system specific conventions) from most general to most @@ -58,7 +58,7 @@ If instrumentation cannot reliably determine the current database name, it SHOUL **[4]:** This SHOULD be the SQL command such as `SELECT`, `INSERT`, `UPDATE`, `CREATE`, `DROP`. In the case of `EXEC`, this SHOULD be the stored procedure name that is being executed. -**[5]:** If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture `db.operation.name`, then it SHOULD be the first operation name found in the query. +**[5]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. **[6]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. diff --git a/model/db-common.yaml b/model/db-common.yaml index cccfe64cbe..3dfc31af14 100644 --- a/model/db-common.yaml +++ b/model/db-common.yaml @@ -6,8 +6,8 @@ groups: - ref: db.operation.name requirement_level: conditionally_required: > - If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture - `db.operation.name`, then it SHOULD be the first operation name found in the query. + If readily available. The operation name MAY be parsed from the query text, + in which case it SHOULD be the first operation name found in the query. - ref: server.address brief: > Name of the database host. diff --git a/model/metrics/database-metrics.yaml b/model/metrics/database-metrics.yaml index 0b0823406c..969c47a0dc 100644 --- a/model/metrics/database-metrics.yaml +++ b/model/metrics/database-metrics.yaml @@ -11,8 +11,8 @@ groups: - ref: db.collection.name requirement_level: conditionally_required: > - If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture - `db.collection.name`, then it SHOULD be the first collection name found in the query. + If readily available. The collection name MAY be parsed from the query text, + in which case it SHOULD be the first collection name in the query. - ref: db.system # TODO: Not adding to the minimal because of https://github.com/open-telemetry/build-tools/issues/192 requirement_level: required diff --git a/model/registry/db.yaml b/model/registry/db.yaml index f23c9ed5ef..18d12f7367 100644 --- a/model/registry/db.yaml +++ b/model/registry/db.yaml @@ -10,10 +10,10 @@ groups: stability: experimental brief: The name of a collection (table, container) within the database. note: > - If the collection name is parsed from the query, it SHOULD match the value provided - in the query and may be qualified with the schema and database name. + It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. - It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. + If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query + and it SHOULD match the value provided in the query text including any schema and database name prefix. examples: ['public.users', 'customers'] - id: namespace type: string @@ -38,6 +38,8 @@ groups: The name of the operation or command being executed. note: > It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. + + If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. examples: ['findAndModify', 'HMSET', 'SELECT'] - id: query.text type: string diff --git a/model/trace/database.yaml b/model/trace/database.yaml index 102ce2968c..ece87e3dbf 100644 --- a/model/trace/database.yaml +++ b/model/trace/database.yaml @@ -34,9 +34,8 @@ groups: - ref: db.collection.name requirement_level: conditionally_required: > - If readily available. Otherwise, if the instrumentation library parses `db.query.text` to capture - `db.collection.name`, then it SHOULD be the first collection name found in the query. - + If readily available. The collection name MAY be parsed from the query text, + in which case it SHOULD be the first collection name found in the query. - id: trace.db.common.full type: attribute_group From 7da6842f9d647a6a47197a7f0a7bcc266bb40ceb Mon Sep 17 00:00:00 2001 From: Alexandra Konrad Date: Tue, 28 May 2024 22:32:45 +0200 Subject: [PATCH 12/22] [BREAKING] Add ECS user namespace (#731) Co-authored-by: Liudmila Molkova --- .chloggen/user_ns.yaml | 22 +++++++++++ .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/change_proposal.yaml | 2 +- .github/ISSUE_TEMPLATE/new-conventions.yaml | 2 +- docs/attributes-registry/README.md | 1 + docs/attributes-registry/enduser.md | 14 +++---- docs/attributes-registry/user.md | 22 +++++++++++ docs/general/attributes.md | 6 +-- model/registry/deprecated/enduser.yaml | 24 +++++++++++ model/registry/enduser.yaml | 29 -------------- model/registry/user.yaml | 44 +++++++++++++++++++++ schema-next.yaml | 6 +++ 12 files changed, 132 insertions(+), 42 deletions(-) create mode 100755 .chloggen/user_ns.yaml create mode 100644 docs/attributes-registry/user.md create mode 100644 model/registry/deprecated/enduser.yaml delete mode 100644 model/registry/enduser.yaml create mode 100644 model/registry/user.yaml diff --git a/.chloggen/user_ns.yaml b/.chloggen/user_ns.yaml new file mode 100755 index 0000000000..878e93a435 --- /dev/null +++ b/.chloggen/user_ns.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: new_component + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: user + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: BREAKING - deprecate `enduser` in favor of a new `user` namespace. Add more `user` attributes. + +# 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: [731] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 4aefd034cc..33cf248bb7 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -34,7 +34,6 @@ body: - area:device - area:disk - area:dns - - area:enduser - area:error - area:event - area:exception @@ -71,6 +70,7 @@ body: - area:tls - area:url - area:user-agent + - area:user - area:webengine # End semconv area list - type: textarea diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index 2af8b08f70..4429b696e6 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -27,7 +27,6 @@ body: - area:device - area:disk - area:dns - - area:enduser - area:error - area:event - area:exception @@ -64,6 +63,7 @@ body: - area:tls - area:url - area:user-agent + - area:user - area:webengine # End semconv area list - type: textarea diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index 0753cd8184..1a504ea5ce 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -36,7 +36,6 @@ body: - area:device - area:disk - area:dns - - area:enduser - area:error - area:event - area:exception @@ -73,6 +72,7 @@ body: - area:tls - area:url - area:user-agent + - area:user - area:webengine # End semconv area list - type: textarea diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index a9253c650b..2aa1b98447 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -83,6 +83,7 @@ Currently, the following namespaces exist: - [Thread](thread.md) - [TLS](tls.md) - [URL](url.md) +- [User](user.md) - [User Agent](user-agent.md) - [Webengine](webengine.md) diff --git a/docs/attributes-registry/enduser.md b/docs/attributes-registry/enduser.md index 9fa388eeac..66ba5a0d1e 100644 --- a/docs/attributes-registry/enduser.md +++ b/docs/attributes-registry/enduser.md @@ -6,12 +6,12 @@ # Enduser -## Enduser Attributes +## Enduser Deprecated Attributes -This document defines attributes for operations with an authenticated and/or authorized enduser. +Describes deprecated enduser attributes. Complete enduser namespace has been deprecated -| Attribute | Type | Description | Examples | Stability | -| --------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | ---------------------------------------------------------------- | -| `enduser.id` | string | Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. | `username` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `enduser.role` | string | Actual/assumed role the client is making the request under extracted from token or application security context. | `admin` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `enduser.scope` | string | Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). | `read:message, write:files` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| --------------- | ------ | ---------------------------------------- | --------------------------- | -------------------------------------------------------------------------------------------------- | +| `enduser.id` | string | Deprecated, use `user.id` instead. | `username` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `user.id` attribute. | +| `enduser.role` | string | Deprecated, use `user.roles` instead. | `admin` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `user.roles` attribute. | +| `enduser.scope` | string | Deprecated, no replacement at this time. | `read:message, write:files` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed. | diff --git a/docs/attributes-registry/user.md b/docs/attributes-registry/user.md new file mode 100644 index 0000000000..41a9d259c8 --- /dev/null +++ b/docs/attributes-registry/user.md @@ -0,0 +1,22 @@ + + + + + +# User + +## User Attributes + +Describes information about the user. + +| Attribute | Type | Description | Examples | Stability | +| ---------------- | -------- | ---------------------------------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------------------------- | +| `user.email` | string | User email address. | `a.einstein@example.com` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user.full_name` | string | User's full name | `Albert Einstein` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user.hash` | string | Unique user hash to correlate information for a user in anonymized form. [1] | `364fc68eaf4c8acec74a4e52d7d1feaa` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user.id` | string | Unique identifier of the user. | `S-1-5-21-202424912787-2692429404-2351956786-1000` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user.name` | string | Short name or login/username of the user. | `a.einstein` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user.roles` | string[] | Array of user roles at the time of the event. | `admin`; `reporting_user` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +**[1]:** Useful if `user.id` or `user.name` contain confidential information and cannot be used. diff --git a/docs/general/attributes.md b/docs/general/attributes.md index a3030171ec..d6a848bdf9 100644 --- a/docs/general/attributes.md +++ b/docs/general/attributes.md @@ -408,9 +408,9 @@ These attributes may be used for any operation with an authenticated and/or auth | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`enduser.id`](/docs/attributes-registry/enduser.md) | string | Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. | `username` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`enduser.role`](/docs/attributes-registry/enduser.md) | string | Actual/assumed role the client is making the request under extracted from token or application security context. | `admin` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`enduser.scope`](/docs/attributes-registry/enduser.md) | string | Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). | `read:message, write:files` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`enduser.id`](/docs/attributes-registry/enduser.md) | string | Deprecated, use `user.id` instead. | `username` | `Recommended` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `user.id` attribute. | +| [`enduser.role`](/docs/attributes-registry/enduser.md) | string | Deprecated, use `user.roles` instead. | `admin` | `Recommended` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `user.roles` attribute. | +| [`enduser.scope`](/docs/attributes-registry/enduser.md) | string | Deprecated, no replacement at this time. | `read:message, write:files` | `Recommended` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed. | diff --git a/model/registry/deprecated/enduser.yaml b/model/registry/deprecated/enduser.yaml new file mode 100644 index 0000000000..8908ec8fbd --- /dev/null +++ b/model/registry/deprecated/enduser.yaml @@ -0,0 +1,24 @@ +groups: + - id: registry.enduser.deprecated + prefix: enduser + type: attribute_group + brief: Describes deprecated enduser attributes. Complete enduser namespace has been deprecated + attributes: + - id: id + type: string + stability: experimental + deprecated: Replaced by `user.id` attribute. + brief: "Deprecated, use `user.id` instead." + examples: 'username' + - id: role + type: string + stability: experimental + deprecated: Replaced by `user.roles` attribute. + brief: "Deprecated, use `user.roles` instead." + examples: 'admin' + - id: scope + type: string + stability: experimental + deprecated: Removed. + brief: "Deprecated, no replacement at this time." + examples: 'read:message, write:files' diff --git a/model/registry/enduser.yaml b/model/registry/enduser.yaml deleted file mode 100644 index 656f36d682..0000000000 --- a/model/registry/enduser.yaml +++ /dev/null @@ -1,29 +0,0 @@ -groups: - - id: registry.enduser - prefix: enduser - type: attribute_group - brief: > - This document defines attributes for operations with an authenticated and/or authorized enduser. - attributes: - - id: id - type: string - stability: experimental - brief: > - Username or client_id extracted from the access token or - [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) - header in the inbound request from outside the system. - examples: 'username' - - id: role - type: string - stability: experimental - brief: 'Actual/assumed role the client is making the request under extracted from token or application security context.' - examples: 'admin' - - id: scope - type: string - stability: experimental - brief: > - Scopes or granted authorities the client currently possesses extracted from token - or application security context. The value would come from the scope associated - with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) - or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). - examples: 'read:message, write:files' diff --git a/model/registry/user.yaml b/model/registry/user.yaml new file mode 100644 index 0000000000..98792de275 --- /dev/null +++ b/model/registry/user.yaml @@ -0,0 +1,44 @@ +groups: + - id: registry.user + prefix: user + type: attribute_group + brief: "Describes information about the user." + attributes: + - id: email + type: string + stability: experimental + brief: > + User email address. + examples: ['a.einstein@example.com'] + - id: full_name + type: string + stability: experimental + brief: > + User's full name + examples: ['Albert Einstein'] + - id: hash + type: string + stability: experimental + brief: > + Unique user hash to correlate information for a user in anonymized form. + note: > + Useful if `user.id` or `user.name` contain confidential information and cannot be used. + examples: ['364fc68eaf4c8acec74a4e52d7d1feaa'] + - id: id + type: string + stability: experimental + brief: > + Unique identifier of the user. + examples: ['S-1-5-21-202424912787-2692429404-2351956786-1000'] + - id: name + type: string + stability: experimental + brief: > + Short name or login/username of the user. + examples: ['a.einstein'] + - id: roles + type: string[] + stability: experimental + brief: > + Array of user roles at the time of the event. + examples: ["admin", "reporting_user"] diff --git a/schema-next.yaml b/schema-next.yaml index 519df3f8fb..32ab76d055 100644 --- a/schema-next.yaml +++ b/schema-next.yaml @@ -36,6 +36,12 @@ versions: - db.client.connections.create_time - db.client.connections.wait_time - db.client.connections.use_time + all: + changes: + # https://github:com/open-telemetry/semantic-conventions/pull/731/ + - rename_attributes: + attribute_map: + enduser.id: user.id 1.25.0: spans: From 805cad38760aab5f4cacbfcf3a7e69dc1342536f Mon Sep 17 00:00:00 2001 From: Drew Robbins Date: Wed, 29 May 2024 05:40:38 +0900 Subject: [PATCH 13/22] LLM common metrics for Generative AI (#955) Co-authored-by: Liudmila Molkova --- .chloggen/811.yaml | 4 + docs/attributes-registry/gen-ai.md | 9 ++ docs/gen-ai/README.md | 4 + docs/gen-ai/gen-ai-metrics.md | 182 +++++++++++++++++++++++++++++ model/metrics/gen-ai.yaml | 45 +++++++ model/registry/gen-ai.yaml | 19 +++ 6 files changed, 263 insertions(+) create mode 100644 .chloggen/811.yaml create mode 100644 docs/gen-ai/gen-ai-metrics.md create mode 100644 model/metrics/gen-ai.yaml diff --git a/.chloggen/811.yaml b/.chloggen/811.yaml new file mode 100644 index 0000000000..dd2304d58b --- /dev/null +++ b/.chloggen/811.yaml @@ -0,0 +1,4 @@ +change_type: enhancement +component: gen-ai +note: Adding metrics for GenAI clients. +issues: [811] diff --git a/docs/attributes-registry/gen-ai.md b/docs/attributes-registry/gen-ai.md index a58d9c3989..0bde9ff5fd 100644 --- a/docs/attributes-registry/gen-ai.md +++ b/docs/attributes-registry/gen-ai.md @@ -13,6 +13,7 @@ This document defines the attributes used to describe telemetry in the context o | Attribute | Type | Description | Examples | Stability | | -------------------------------- | -------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- | ---------------------------------------------------------------- | | `gen_ai.completion` | string | The full response received from the LLM. [1] | `[{'role': 'assistant', 'content': 'The capital of France is Paris.'}]` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gen_ai.operation.name` | string | The name of the operation being performed. | `chat`; `completion` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gen_ai.prompt` | string | The full prompt sent to an LLM. [2] | `[{'role': 'user', 'content': 'What is the capital of France?'}]` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gen_ai.request.max_tokens` | int | The maximum number of tokens the LLM generates for a request. | `100` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gen_ai.request.model` | string | The name of the LLM a request is being made to. | `gpt-4` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -22,6 +23,7 @@ This document defines the attributes used to describe telemetry in the context o | `gen_ai.response.id` | string | The unique identifier for the completion. | `chatcmpl-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gen_ai.response.model` | string | The name of the LLM a response was generated from. | `gpt-4-0613` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gen_ai.system` | string | The Generative AI product as identified by the client instrumentation. [3] | `openai` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gen_ai.token.type` | string | The type of token being counted. | `input`; `output` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gen_ai.usage.completion_tokens` | int | The number of tokens used in the LLM response (completion). | `180` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gen_ai.usage.prompt_tokens` | int | The number of tokens used in the LLM prompt. | `100` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -36,3 +38,10 @@ This document defines the attributes used to describe telemetry in the context o | Value | Description | Stability | | -------- | ----------- | ---------------------------------------------------------------- | | `openai` | OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`gen_ai.token.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 | +| -------- | ------------------------------------------ | ---------------------------------------------------------------- | +| `input` | Input tokens (prompt, input, etc.) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `output` | Output tokens (completion, response, etc.) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/gen-ai/README.md b/docs/gen-ai/README.md index 1197a88522..17d5ef099d 100644 --- a/docs/gen-ai/README.md +++ b/docs/gen-ai/README.md @@ -18,6 +18,10 @@ This document defines semantic conventions for the following kind of Generative * LLMs +Semantic conventions for Generative AI operations are defined for the following signals: + +* [Metrics](gen-ai-metrics.md): Semantic Conventions for Generative AI operations - *metrics*. + Semantic conventions for LLM operations are defined for the following signals: * [LLM Spans](llm-spans.md): Semantic Conventions for LLM requests - *spans*. diff --git a/docs/gen-ai/gen-ai-metrics.md b/docs/gen-ai/gen-ai-metrics.md new file mode 100644 index 0000000000..e68f0bf183 --- /dev/null +++ b/docs/gen-ai/gen-ai-metrics.md @@ -0,0 +1,182 @@ + + +# Semantic Conventions for Generative AI Client Metrics + +**Status**: [Experimental][DocumentStatus] + +The conventions described in this section are specific to Generative AI client +applications. + +**Disclaimer:** These are initial Generative AI client metric instruments +and attributes but more may be added in the future. + + + + + +- [Generative AI Client Metrics](#generative-ai-client-metrics) + - [Metric: `gen_ai.client.token.usage`](#metric-gen_aiclienttokenusage) + - [Metric: `gen_ai.client.operation.duration`](#metric-gen_aiclientoperationduration) + + + +## Generative AI Client Metrics + +The following metric instruments describe Generative AI operations. An +operation may be a request to an LLM, a function call, or some other +distinct action within a larger Generative AI workflow. + +### Metric: `gen_ai.client.token.usage` + +This metric is [recommended][MetricRecommended] when an operation involves the usage +of tokens and the count is readily available. + +For example, if GenAI system returns usage information in the streaming response, it SHOULD be used. Or if GenAI system returns each token independently, instrumentation SHOULD count number of output tokens and record the result. + +If instrumentation cannot efficiently obtain number of input and/or output tokens, it MAY allow users to enable offline token counting. Otherwise it MUST NOT report usage metric. + +When systems report both used tokens and billable tokens, instrumentation MUST report billable tokens. + +This metric SHOULD be specified with [ExplicitBucketBoundaries] of [1, 4, 16, 64, 256, 1024, 4096, 16384, 65536, 262144, 1048576, 4194304, 16777216, 67108864]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `gen_ai.client.token.usage` | Histogram | `{token}` | Measures number of input and output tokens used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + + + + + + + + + + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gen_ai.operation.name`](/docs/attributes-registry/gen-ai.md) | string | The name of the operation being performed. | `chat`; `completion` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`gen_ai.request.model`](/docs/attributes-registry/gen-ai.md) | string | The name of the LLM a request is being made to. | `gpt-4` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`gen_ai.system`](/docs/attributes-registry/gen-ai.md) | string | The Generative AI product as identified by the client instrumentation. [1] | `openai` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`gen_ai.token.type`](/docs/attributes-registry/gen-ai.md) | string | The type of token being counted. | `input`; `output` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [2] | `80`; `8080`; `443` | `Conditionally Required` If `sever.address` is set. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`gen_ai.response.model`](/docs/attributes-registry/gen-ai.md) | string | The name of the LLM a response was generated from. | `gpt-4-0613` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. [3] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + +**[1]:** The actual GenAI product may differ from the one identified by the client. For example, when using OpenAI client libraries to communicate with Mistral, the `gen_ai.system` is set to `openai` based on the instrumentation's best knowledge. + +**[2]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. + +**[3]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. + + + +`gen_ai.system` 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 | +|---|---|---| +| `openai` | OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +`gen_ai.token.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 | +|---|---|---| +| `input` | Input tokens (prompt, input, etc.) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `output` | Output tokens (completion, response, etc.) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + + + + + + +### Metric: `gen_ai.client.operation.duration` + +This metric is [required][MetricRequired]. + +This metric SHOULD be specified with [ExplicitBucketBoundaries] of [ 0.01, 0.02, 0.04, 0.08, 0.16, 0.32, 0.64, 1.28, 2.56, 5.12,10.24, 20.48, 40.96, 81.92]. + + + + + + + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `gen_ai.client.operation.duration` | Histogram | `s` | GenAI operation duration | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + + + + + + + + + + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`gen_ai.operation.name`](/docs/attributes-registry/gen-ai.md) | string | The name of the operation being performed. | `chat`; `completion` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`gen_ai.request.model`](/docs/attributes-registry/gen-ai.md) | string | The name of the LLM a request is being made to. | `gpt-4` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`gen_ai.system`](/docs/attributes-registry/gen-ai.md) | string | The Generative AI product as identified by the client instrumentation. [1] | `openai` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [2] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` if the operation ended in an error | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [3] | `80`; `8080`; `443` | `Conditionally Required` If `sever.address` is set. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`gen_ai.response.model`](/docs/attributes-registry/gen-ai.md) | string | The name of the LLM a response was generated from. | `gpt-4-0613` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. [4] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + +**[1]:** The actual GenAI product may differ from the one identified by the client. For example, when using OpenAI client libraries to communicate with Mistral, the `gen_ai.system` is set to `openai` based on the instrumentation's best knowledge. + +**[2]:** The `error.type` SHOULD match the error code returned by the Generative AI provider or the client library, +the canonical name of exception that occurred, or another low-cardinality error identifier. +Instrumentations SHOULD document the list of errors they report. + +**[3]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. + +**[4]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. + + + +`error.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +|---|---|---| +| `_OTHER` | A fallback error value to be used when the instrumentation doesn't define a custom value. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + +`gen_ai.system` 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 | +|---|---|---| +| `openai` | OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + + + + + + +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md +[MetricRequired]: /docs/general/metric-requirement-level.md#required +[MetricRecommended]: /docs/general/metric-requirement-level.md#recommended +[ExplicitBucketBoundaries]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters diff --git a/model/metrics/gen-ai.yaml b/model/metrics/gen-ai.yaml new file mode 100644 index 0000000000..8398e8f0c6 --- /dev/null +++ b/model/metrics/gen-ai.yaml @@ -0,0 +1,45 @@ +groups: + - id: metric_attributes.gen_ai + type: attribute_group + brief: 'This group describes GenAI metrics attributes' + attributes: + - ref: server.address + requirement_level: recommended + - ref: server.port + requirement_level: + conditionally_required: If `sever.address` is set. + - ref: gen_ai.response.model + requirement_level: recommended + - ref: gen_ai.request.model + requirement_level: required + - ref: gen_ai.system + requirement_level: required + - ref: gen_ai.operation.name + requirement_level: required + - id: metric.gen_ai.client.token.usage + type: metric + metric_name: gen_ai.client.token.usage + brief: 'Measures number of input and output tokens used' + instrument: histogram + unit: "{token}" + stability: experimental + extends: metric_attributes.gen_ai + attributes: + - ref: gen_ai.token.type + requirement_level: required + - id: metric.gen_ai.client.operation.duration + type: metric + metric_name: gen_ai.client.operation.duration + brief: 'GenAI operation duration' + instrument: histogram + unit: "s" + stability: experimental + extends: metric_attributes.gen_ai + attributes: + - ref: error.type + requirement_level: + conditionally_required: "if the operation ended in an error" + note: | + The `error.type` SHOULD match the error code returned by the Generative AI provider or the client library, + the canonical name of exception that occurred, or another low-cardinality error identifier. + Instrumentations SHOULD document the list of errors they report. diff --git a/model/registry/gen-ai.yaml b/model/registry/gen-ai.yaml index ab2ea3700c..47ec27bf60 100644 --- a/model/registry/gen-ai.yaml +++ b/model/registry/gen-ai.yaml @@ -75,6 +75,20 @@ groups: brief: The number of tokens used in the LLM response (completion). examples: [180] tag: llm-generic-response + - id: token.type + stability: experimental + type: + members: + - id: input + stability: experimental + value: "input" + brief: 'Input tokens (prompt, input, etc.)' + - id: completion + stability: experimental + value: "output" + brief: 'Output tokens (completion, response, etc.)' + brief: The type of token being counted. + examples: ['input', 'output'] - id: prompt stability: experimental type: string @@ -89,3 +103,8 @@ groups: note: It's RECOMMENDED to format completions as JSON string matching [OpenAI messages format](https://platform.openai.com/docs/guides/text-generation) examples: ["[{'role': 'assistant', 'content': 'The capital of France is Paris.'}]"] tag: llm-generic-events + - id: operation.name + stability: experimental + type: string + brief: The name of the operation being performed. + examples: ['chat', 'completion'] From 728bc03fb67c483b7c4c68561bea0b4a3ea789c2 Mon Sep 17 00:00:00 2001 From: Alexandra Konrad Date: Wed, 29 May 2024 16:17:59 +0200 Subject: [PATCH 14/22] [chore] sort enums members in table (#1083) Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> --- docs/attributes-registry/android.md | 2 +- docs/attributes-registry/aspnetcore.md | 6 +- docs/attributes-registry/cloud.md | 16 ++--- docs/attributes-registry/container.md | 4 +- docs/attributes-registry/db.md | 34 ++++----- docs/attributes-registry/faas.md | 6 +- docs/attributes-registry/go.md | 2 +- docs/attributes-registry/graphql.md | 2 +- docs/attributes-registry/http.md | 4 +- docs/attributes-registry/ios.md | 2 +- docs/attributes-registry/jvm.md | 6 +- docs/attributes-registry/log.md | 2 +- docs/attributes-registry/messaging.md | 14 ++-- docs/attributes-registry/network.md | 36 +++++----- docs/attributes-registry/os.md | 10 +-- docs/attributes-registry/otel.md | 2 +- docs/attributes-registry/process.md | 2 +- docs/attributes-registry/rpc.md | 30 ++++---- docs/attributes-registry/signalr.md | 4 +- docs/attributes-registry/system.md | 28 ++++---- docs/cloud-providers/aws-sdk.md | 6 +- docs/database/cassandra.md | 12 ++-- docs/database/cosmosdb.md | 20 +++--- docs/database/database-metrics.md | 2 +- docs/database/database-spans.md | 2 +- docs/database/dynamodb.md | 80 +++++++++++----------- docs/database/elasticsearch.md | 2 +- docs/dotnet/dotnet-aspnetcore-metrics.md | 6 +- docs/dotnet/dotnet-kestrel-metrics.md | 16 ++--- docs/dotnet/dotnet-signalr-metrics.md | 8 +-- docs/faas/faas-metrics.md | 18 ++--- docs/faas/faas-spans.md | 8 +-- docs/general/attributes.md | 30 ++++---- docs/general/logs.md | 2 +- docs/graphql/graphql-spans.md | 2 +- docs/http/http-metrics.md | 16 ++--- docs/http/http-spans.md | 8 +-- docs/messaging/azure-messaging.md | 10 +-- docs/messaging/gcp-pubsub.md | 4 +- docs/messaging/kafka.md | 4 +- docs/messaging/messaging-metrics.md | 2 +- docs/messaging/messaging-spans.md | 6 +- docs/messaging/rabbitmq.md | 4 +- docs/messaging/rocketmq.md | 10 +-- docs/object-stores/s3.md | 6 +- docs/resource/cloud.md | 16 ++--- docs/resource/os.md | 10 +-- docs/rpc/connect-rpc.md | 20 +++--- docs/rpc/rpc-metrics.md | 8 +-- docs/rpc/rpc-spans.md | 18 ++--- docs/runtime/go-metrics.md | 2 +- docs/runtime/jvm-metrics.md | 6 +- docs/system/container-metrics.md | 6 +- docs/system/process-metrics.md | 4 +- docs/system/system-metrics.md | 60 ++++++++-------- templates/registry/markdown/enum_macros.j2 | 2 +- 56 files changed, 324 insertions(+), 324 deletions(-) diff --git a/docs/attributes-registry/android.md b/docs/attributes-registry/android.md index 2e93f84293..c540e60cea 100644 --- a/docs/attributes-registry/android.md +++ b/docs/attributes-registry/android.md @@ -31,6 +31,6 @@ This document defines attributes that represents an occurrence of a lifecycle tr | Value | Description | Stability | | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `created` | Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `background` | Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `created` | Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `foreground` | Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/aspnetcore.md b/docs/attributes-registry/aspnetcore.md index 9259b5a812..1fe1a2ad74 100644 --- a/docs/attributes-registry/aspnetcore.md +++ b/docs/attributes-registry/aspnetcore.md @@ -24,10 +24,10 @@ ASP.NET Core attributes | Value | Description | Stability | | ----------- | ---------------------------------------------------------------- | ---------------------------------------------------------- | +| `aborted` | Exception handling didn't run because the request was aborted. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `handled` | Exception was handled by the exception handling middleware. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `unhandled` | Exception was not handled by the exception handling middleware. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `skipped` | Exception handling was skipped because the response had started. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `aborted` | Exception handling didn't run because the request was aborted. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `unhandled` | Exception was not handled by the exception handling middleware. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `aspnetcore.rate_limiting.result` 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. @@ -42,5 +42,5 @@ ASP.NET Core attributes | Value | Description | Stability | | --------- | --------------- | ---------------------------------------------------------- | -| `success` | Match succeeded | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `failure` | Match failed | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `success` | Match succeeded | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/attributes-registry/cloud.md b/docs/attributes-registry/cloud.md index 697c068fc3..b9d7936a43 100644 --- a/docs/attributes-registry/cloud.md +++ b/docs/attributes-registry/cloud.md @@ -50,26 +50,26 @@ The following well-known definitions MUST be used if you set this attribute and | `alibaba_cloud_ecs` | Alibaba Cloud Elastic Compute Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `alibaba_cloud_fc` | Alibaba Cloud Function Compute | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `alibaba_cloud_openshift` | Red Hat OpenShift on Alibaba Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aws_app_runner` | AWS App Runner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_ec2` | AWS Elastic Compute Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_ecs` | AWS Elastic Container Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_eks` | AWS Elastic Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aws_lambda` | AWS Lambda | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aws_app_runner` | AWS App Runner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aws_lambda` | AWS Lambda | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `azure_vm` | Azure Virtual Machines | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure_aks` | Azure Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure_app_service` | Azure App Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `azure_container_apps` | Azure Container Apps | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `azure_container_instances` | Azure Container Instances | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `azure_aks` | Azure Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `azure_functions` | Azure Functions | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `azure_app_service` | Azure App Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `azure_openshift` | Azure Red Hat OpenShift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure_vm` | Azure Virtual Machines | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `gcp_compute_engine` | Google Cloud Compute Engine (GCE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_cloud_run` | Google Cloud Run | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gcp_compute_engine` | Google Cloud Compute Engine (GCE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_kubernetes_engine` | Google Cloud Kubernetes Engine (GKE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_openshift` | Red Hat OpenShift on Google Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ibm_cloud_openshift` | Red Hat OpenShift on IBM Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `tencent_cloud_cvm` | Tencent Cloud Cloud Virtual Machine (CVM) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/container.md b/docs/attributes-registry/container.md index cf78842e11..cb9b0223ef 100644 --- a/docs/attributes-registry/container.md +++ b/docs/attributes-registry/container.md @@ -40,9 +40,9 @@ The ID is assigned by the container runtime and can vary in different environmen | Value | Description | Stability | | -------- | --------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `user` | When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `system` | When CPU is used by the system (host OS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `kernel` | When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `system` | When CPU is used by the system (host OS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user` | When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## Container Deprecated Attributes diff --git a/docs/attributes-registry/db.md b/docs/attributes-registry/db.md index b04d6bed2e..b9179a347f 100644 --- a/docs/attributes-registry/db.md +++ b/docs/attributes-registry/db.md @@ -54,7 +54,6 @@ If a parameter has no name and instead is referenced only by index, then `` | Value | Description | Stability | | --------------- | -------------------------------------------------- | ---------------------------------------------------------------- | -| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -94,6 +93,7 @@ If a parameter has no name and instead is referenced only by index, then `` | `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -125,16 +125,16 @@ This group defines attributes for Cassandra. | Value | Description | Stability | | -------------- | ------------ | ---------------------------------------------------------------- | | `all` | all | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `any` | any | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `each_quorum` | each_quorum | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `quorum` | quorum | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `local_one` | local_one | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `local_quorum` | local_quorum | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `local_serial` | local_serial | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `one` | one | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `two` | two | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `three` | three | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `local_one` | local_one | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `any` | any | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `quorum` | quorum | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `serial` | serial | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `local_serial` | local_serial | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `three` | three | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `two` | two | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## Db CosmosDB Attributes @@ -154,28 +154,28 @@ This group defines attributes for Azure Cosmos DB. | Value | Description | Stability | | --------- | ------------------------------- | ---------------------------------------------------------------- | -| `gateway` | Gateway (HTTP) connections mode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `direct` | Direct connection. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gateway` | Gateway (HTTP) connections mode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `db.cosmosdb.operation_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 | | ------------------- | ------------------ | ---------------------------------------------------------------- | -| `Invalid` | invalid | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Batch` | batch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `Create` | create | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Patch` | patch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Read` | read | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ReadFeed` | read_feed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `Delete` | delete | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Replace` | replace | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `Execute` | execute | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Query` | query | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ExecuteJavaScript` | execute_javascript | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `Head` | head | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `HeadFeed` | head_feed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Upsert` | upsert | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Batch` | batch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Invalid` | invalid | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Patch` | patch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Query` | query | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `QueryPlan` | query_plan | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ExecuteJavaScript` | execute_javascript | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Read` | read | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ReadFeed` | read_feed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Replace` | replace | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Upsert` | upsert | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## Db Deprecated Attributes diff --git a/docs/attributes-registry/faas.md b/docs/attributes-registry/faas.md index fd7a4bcd0d..26a1200ece 100644 --- a/docs/attributes-registry/faas.md +++ b/docs/attributes-registry/faas.md @@ -70,9 +70,9 @@ definition of function name MUST be used for this attribute | Value | Description | Stability | | -------- | ----------------------------- | ---------------------------------------------------------------- | -| `insert` | When a new object is created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `edit` | When an object is modified. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `delete` | When an object is deleted. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `edit` | When an object is modified. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `insert` | When a new object is created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `faas.invoked_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. @@ -90,6 +90,6 @@ definition of function name MUST be used for this attribute | ------------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/go.md b/docs/attributes-registry/go.md index 5c47c1a4cd..d8815cc018 100644 --- a/docs/attributes-registry/go.md +++ b/docs/attributes-registry/go.md @@ -18,7 +18,7 @@ This document defines Go related attributes. | Value | Description | Stability | | ------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `stack` | Memory allocated from the heap that is reserved for stack space, whether or not it is currently in-use. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `other` | Memory used by the Go runtime, excluding other categories of memory usage described in this enumeration. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `stack` | Memory allocated from the heap that is reserved for stack space, whether or not it is currently in-use. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** Computed from `/memory/classes/heap/stacks:bytes`. diff --git a/docs/attributes-registry/graphql.md b/docs/attributes-registry/graphql.md index 1ac95e42f3..c240336b6b 100644 --- a/docs/attributes-registry/graphql.md +++ b/docs/attributes-registry/graphql.md @@ -22,6 +22,6 @@ This document defines attributes for GraphQL. | Value | Description | Stability | | -------------- | -------------------- | ---------------------------------------------------------------- | -| `query` | GraphQL query | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `mutation` | GraphQL mutation | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `query` | GraphQL query | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `subscription` | GraphQL subscription | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/http.md b/docs/attributes-registry/http.md index 6dd1ff889b..7d33288aef 100644 --- a/docs/attributes-registry/http.md +++ b/docs/attributes-registry/http.md @@ -67,6 +67,7 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | Value | Description | Stability | | --------- | ------------------------------------------------------------------- | ---------------------------------------------------------- | +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -76,7 +77,6 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | ## HTTP Deprecated Attributes @@ -107,5 +107,5 @@ Describes deprecated HTTP attributes. | `1.1` | HTTP/1.1 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `2.0` | HTTP/2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `3.0` | HTTP/3 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `SPDY` | SPDY protocol. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `QUIC` | QUIC protocol. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `SPDY` | SPDY protocol. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/ios.md b/docs/attributes-registry/ios.md index 7784079e9f..f15cf13d6a 100644 --- a/docs/attributes-registry/ios.md +++ b/docs/attributes-registry/ios.md @@ -21,7 +21,7 @@ The iOS platform on which the iOS application is running. | Value | Description | Stability | | ------------ | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | | `active` | The app has become `active`. Associated with UIKit notification `applicationDidBecomeActive`. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `inactive` | The app is now `inactive`. Associated with UIKit notification `applicationWillResignActive`. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `background` | The app is now in the background. This value is associated with UIKit notification `applicationDidEnterBackground`. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `foreground` | The app is now in the foreground. This value is associated with UIKit notification `applicationWillEnterForeground`. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `inactive` | The app is now `inactive`. Associated with UIKit notification `applicationWillResignActive`. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `terminate` | The app is about to terminate. Associated with UIKit notification `applicationWillTerminate`. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/jvm.md b/docs/attributes-registry/jvm.md index 8f33ea24cf..70f08089d7 100644 --- a/docs/attributes-registry/jvm.md +++ b/docs/attributes-registry/jvm.md @@ -39,9 +39,9 @@ This document defines Java Virtual machine related attributes. | Value | Description | Stability | | --------------- | --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | +| `blocked` | A thread that is blocked waiting for a monitor lock is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `new` | A thread that has not yet started is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `runnable` | A thread executing in the Java virtual machine is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `blocked` | A thread that is blocked waiting for a monitor lock is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `waiting` | A thread that is waiting indefinitely for another thread to perform a particular action is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `timed_waiting` | A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `terminated` | A thread that has exited is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `timed_waiting` | A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `waiting` | A thread that is waiting indefinitely for another thread to perform a particular action is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/attributes-registry/log.md b/docs/attributes-registry/log.md index e829babffd..837a982cb5 100644 --- a/docs/attributes-registry/log.md +++ b/docs/attributes-registry/log.md @@ -22,8 +22,8 @@ This document defines log attributes | Value | Description | Stability | | -------- | ------------------------- | ---------------------------------------------------------------- | -| `stdout` | Logs from stdout stream | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `stderr` | Events from stderr stream | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `stdout` | Logs from stdout stream | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## Log File Attributes diff --git a/docs/attributes-registry/messaging.md b/docs/attributes-registry/messaging.md index ca45a802da..13f5b43464 100644 --- a/docs/attributes-registry/messaging.md +++ b/docs/attributes-registry/messaging.md @@ -62,10 +62,10 @@ size should be used. | Value | Description | Stability | | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `process` | One or more messages are delivered to or processed by a consumer. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `settle` | One or more messages are settled. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `messaging.system` 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. @@ -76,12 +76,12 @@ size should be used. | `aws_sqs` | Amazon Simple Queue Service (SQS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `eventgrid` | Azure Event Grid | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `eventhubs` | Azure Event Hubs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `servicebus` | Azure Service Bus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_pubsub` | Google Cloud Pub/Sub | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `jms` | Java Message Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `kafka` | Apache Kafka | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `rabbitmq` | RabbitMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `rocketmq` | Apache RocketMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `servicebus` | Azure Service Bus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## Messaging Deprecated Attributes @@ -155,16 +155,16 @@ This group describes attributes specific to RocketMQ. | Value | Description | Stability | | -------------- | ------------------------------ | ---------------------------------------------------------------- | -| `clustering` | Clustering consumption model | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `broadcasting` | Broadcasting consumption model | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `clustering` | Clustering consumption model | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `messaging.rocketmq.message.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 | | ------------- | ------------------- | ---------------------------------------------------------------- | -| `normal` | Normal message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `fifo` | FIFO message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `delay` | Delay message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `fifo` | FIFO message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `normal` | Normal message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `transaction` | Transaction message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## Messaging Servicebus Attributes @@ -182,7 +182,7 @@ This group describes attributes specific to Azure Service Bus. | Value | Description | Stability | | ------------- | ------------------------------------ | ---------------------------------------------------------------- | -| `complete` | Message is completed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `abandon` | Message is abandoned | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `complete` | Message is completed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `dead_letter` | Message is sent to dead letter queue | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `defer` | Message is deferred | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/network.md b/docs/attributes-registry/network.md index 2904c9a257..54bf6099f8 100644 --- a/docs/attributes-registry/network.md +++ b/docs/attributes-registry/network.md @@ -47,52 +47,52 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | | ---------------- | ----------------------------------- | ---------------------------------------------------------------- | -| `gprs` | GPRS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `edge` | EDGE | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `umts` | UMTS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cdma` | CDMA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cdma2000_1xrtt` | CDMA2000 1XRTT | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `edge` | EDGE | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ehrpd` | EHRPD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `evdo_0` | EVDO Rel. 0 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `evdo_a` | EVDO Rev. A | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cdma2000_1xrtt` | CDMA2000 1XRTT | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `evdo_b` | EVDO Rev. B | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gprs` | GPRS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gsm` | GSM | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hsdpa` | HSDPA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hsupa` | HSUPA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hspa` | HSPA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `iden` | IDEN | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `evdo_b` | EVDO Rev. B | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `lte` | LTE | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ehrpd` | EHRPD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hspap` | HSPAP | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `gsm` | GSM | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `td_scdma` | TD-SCDMA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hsupa` | HSUPA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `iden` | IDEN | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `iwlan` | IWLAN | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `lte` | LTE | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `lte_ca` | LTE CA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `nr` | 5G NR (New Radio) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `nrnsa` | 5G NRNSA (New Radio Non-Standalone) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `lte_ca` | LTE CA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `td_scdma` | TD-SCDMA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `umts` | UMTS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `network.connection.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 | | ------------- | ----------- | ---------------------------------------------------------------- | -| `wifi` | wifi | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `wired` | wired | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cell` | cell | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `unavailable` | unavailable | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `unknown` | unknown | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `wifi` | wifi | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `wired` | wired | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `network.io.direction` 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 | | ---------- | ----------- | ---------------------------------------------------------------- | -| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `receive` | receive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `network.transport` 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 | | ------ | ------------------------ | ---------------------------------------------------------- | +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `network.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. @@ -136,10 +136,10 @@ These attributes may be used for any network related operation. | Value | Description | Stability | | -------- | ------------------------------ | ---------------------------------------------------------------- | +| `inproc` | In-process communication. [5] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ip_tcp` | ip_tcp | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ip_udp` | ip_udp | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipe` | Named or anonymous pipe. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `inproc` | In-process communication. [5] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `other` | Something else (non IP-based). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipe` | Named or anonymous pipe. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[5]:** Signals that there is only in-process communication not using a "real" network protocol in cases where network attributes would normally be expected. Usually all other network attributes can be left out in that case. diff --git a/docs/attributes-registry/os.md b/docs/attributes-registry/os.md index eed5ee362f..8785622356 100644 --- a/docs/attributes-registry/os.md +++ b/docs/attributes-registry/os.md @@ -22,14 +22,14 @@ The operating system (OS) on which the process represented by this resource is r | Value | Description | Stability | | -------------- | ------------------------------------ | ---------------------------------------------------------------- | -| `windows` | Microsoft Windows | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `linux` | Linux | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aix` | AIX (Advanced Interactive eXecutive) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `darwin` | Apple Darwin | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dragonflybsd` | DragonFly BSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `freebsd` | FreeBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hpux` | HP-UX (Hewlett Packard Unix) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `linux` | Linux | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `netbsd` | NetBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `openbsd` | OpenBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dragonflybsd` | DragonFly BSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hpux` | HP-UX (Hewlett Packard Unix) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aix` | AIX (Advanced Interactive eXecutive) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `solaris` | SunOS, Oracle Solaris | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `windows` | Microsoft Windows | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `z_os` | IBM z/OS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/otel.md b/docs/attributes-registry/otel.md index cb0a505ac0..5ac726e13d 100644 --- a/docs/attributes-registry/otel.md +++ b/docs/attributes-registry/otel.md @@ -23,8 +23,8 @@ Attributes reserved for OpenTelemetry | Value | Description | Stability | | ------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | -| `OK` | The operation has been validated by an Application developer or Operator to have completed successfully. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `ERROR` | The operation contains an error. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `OK` | The operation has been validated by an Application developer or Operator to have completed successfully. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | ## OTel Library Deprecated Attributes diff --git a/docs/attributes-registry/process.md b/docs/attributes-registry/process.md index 21e981ea9f..d194bff2be 100644 --- a/docs/attributes-registry/process.md +++ b/docs/attributes-registry/process.md @@ -48,8 +48,8 @@ An operating system process. | Value | Description | Stability | | ------------- | ----------- | ---------------------------------------------------------------- | -| `voluntary` | voluntary | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `involuntary` | involuntary | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `voluntary` | voluntary | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `process.paging.fault_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. diff --git a/docs/attributes-registry/rpc.md b/docs/attributes-registry/rpc.md index 10bf431ffc..561e7c27bc 100644 --- a/docs/attributes-registry/rpc.md +++ b/docs/attributes-registry/rpc.md @@ -51,22 +51,22 @@ This document defines attributes for remote procedure calls. | Value | Description | Stability | | --------------------- | ------------------- | ---------------------------------------------------------------- | +| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `already_exists` | already_exists | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cancelled` | cancelled | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `unknown` | unknown | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `invalid_argument` | invalid_argument | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `data_loss` | data_loss | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deadline_exceeded` | deadline_exceeded | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `failed_precondition` | failed_precondition | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `internal` | internal | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `invalid_argument` | invalid_argument | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `not_found` | not_found | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `already_exists` | already_exists | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `out_of_range` | out_of_range | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `permission_denied` | permission_denied | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `resource_exhausted` | resource_exhausted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `failed_precondition` | failed_precondition | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `out_of_range` | out_of_range | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `unimplemented` | unimplemented | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `internal` | internal | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `unavailable` | unavailable | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `data_loss` | data_loss | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `unauthenticated` | unauthenticated | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `unavailable` | unavailable | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `unimplemented` | unimplemented | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `unknown` | unknown | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `rpc.grpc.status_code` 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. @@ -94,18 +94,18 @@ This document defines attributes for remote procedure calls. | Value | Description | Stability | | ---------- | ----------- | ---------------------------------------------------------------- | -| `SENT` | sent | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `RECEIVED` | received | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `SENT` | sent | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `rpc.system` 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 | | -------------- | ------------ | ---------------------------------------------------------------- | -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## RPC Deprecated Attributes @@ -122,5 +122,5 @@ Deprecated rpc message attributes. | Value | Description | Stability | | ---------- | ----------- | ---------------------------------------------------------------- | -| `SENT` | sent | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `RECEIVED` | received | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `SENT` | sent | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/signalr.md b/docs/attributes-registry/signalr.md index 95f545668b..67eaf3adc1 100644 --- a/docs/attributes-registry/signalr.md +++ b/docs/attributes-registry/signalr.md @@ -19,14 +19,14 @@ SignalR attributes | Value | Description | Stability | | ---------------- | ----------------------------------------------------------- | ---------------------------------------------------------- | +| `app_shutdown` | The connection was closed because the app is shutting down. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `normal_closure` | The connection was closed normally. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `timeout` | The connection was closed due to a timeout. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `app_shutdown` | The connection was closed because the app is shutting down. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `signalr.transport` 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 | | -------------------- | ------------------------- | ---------------------------------------------------------- | -| `server_sent_events` | ServerSentEvents protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `long_polling` | LongPolling protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `server_sent_events` | ServerSentEvents protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `web_sockets` | WebSockets protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/attributes-registry/system.md b/docs/attributes-registry/system.md index cd1486db88..de49928773 100644 --- a/docs/attributes-registry/system.md +++ b/docs/attributes-registry/system.md @@ -36,13 +36,13 @@ Describes System CPU attributes | Value | Description | Stability | | ----------- | ----------- | ---------------------------------------------------------------- | -| `user` | user | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `system` | system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `nice` | nice | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `idle` | idle | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `iowait` | iowait | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `interrupt` | interrupt | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `iowait` | iowait | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `nice` | nice | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `steal` | steal | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `system` | system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user` | user | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## System Deprecated Attributes @@ -56,10 +56,10 @@ Deprecated system attributes. | Value | Description | Stability | | ---------- | ----------- | ---------------------------------------------------------------- | +| `defunct` | defunct | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `running` | running | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sleeping` | sleeping | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `stopped` | stopped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `defunct` | defunct | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## System Filesystem Attributes @@ -76,20 +76,20 @@ Describes Filesystem attributes | Value | Description | Stability | | ---------- | ----------- | ---------------------------------------------------------------- | -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `reserved` | reserved | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `system.filesystem.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 | | --------- | ----------- | ---------------------------------------------------------------- | -| `fat32` | fat32 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `exfat` | exfat | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ext4` | ext4 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `fat32` | fat32 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hfsplus` | hfsplus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ntfs` | ntfs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `refs` | refs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hfsplus` | hfsplus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ext4` | ext4 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## System Memory Attributes @@ -103,11 +103,11 @@ Describes System Memory attributes | Value | Description | Stability | | --------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `shared` | shared | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed, report shared memory usage with `metric.system.memory.shared` metric | | `buffers` | buffers | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cached` | cached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `shared` | shared | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed, report shared memory usage with `metric.system.memory.shared` metric | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | ## System Network Attributes @@ -155,8 +155,8 @@ Describes System Memory Paging attributes | Value | Description | Stability | | ------ | ----------- | ---------------------------------------------------------------- | -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `system.paging.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. @@ -177,7 +177,7 @@ Describes System Process attributes | Value | Description | Stability | | ---------- | ----------- | ---------------------------------------------------------------- | +| `defunct` | defunct | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `running` | running | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sleeping` | sleeping | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `stopped` | stopped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `defunct` | defunct | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/cloud-providers/aws-sdk.md b/docs/cloud-providers/aws-sdk.md index 8afc3c7888..25a1a19c21 100644 --- a/docs/cloud-providers/aws-sdk.md +++ b/docs/cloud-providers/aws-sdk.md @@ -48,11 +48,11 @@ with the naming guidelines for RPC client spans. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/database/cassandra.md b/docs/database/cassandra.md index 3074faf11a..f06e3ffa58 100644 --- a/docs/database/cassandra.md +++ b/docs/database/cassandra.md @@ -74,16 +74,16 @@ If a parameter has no name and instead is referenced only by index, then `` | Value | Description | Stability | |---|---|---| | `all` | all | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `any` | any | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `each_quorum` | each_quorum | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `quorum` | quorum | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `local_one` | local_one | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `local_quorum` | local_quorum | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `local_serial` | local_serial | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `one` | one | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `two` | two | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `three` | three | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `local_one` | local_one | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `any` | any | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `quorum` | quorum | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `serial` | serial | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `local_serial` | local_serial | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `three` | three | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `two` | two | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `error.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index d48769a0bf..2c0d38530a 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -76,29 +76,29 @@ If a parameter has no name and instead is referenced only by index, then `` | Value | Description | Stability | |---|---|---| -| `gateway` | Gateway (HTTP) connections mode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `direct` | Direct connection. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gateway` | Gateway (HTTP) connections mode | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `db.cosmosdb.operation_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 | |---|---|---| -| `Invalid` | invalid | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Batch` | batch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `Create` | create | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Patch` | patch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Read` | read | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ReadFeed` | read_feed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `Delete` | delete | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Replace` | replace | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `Execute` | execute | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Query` | query | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ExecuteJavaScript` | execute_javascript | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `Head` | head | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `HeadFeed` | head_feed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Upsert` | upsert | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `Batch` | batch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Invalid` | invalid | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Patch` | patch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Query` | query | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `QueryPlan` | query_plan | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ExecuteJavaScript` | execute_javascript | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Read` | read | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ReadFeed` | read_feed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Replace` | replace | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `Upsert` | upsert | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `error.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/docs/database/database-metrics.md b/docs/database/database-metrics.md index 667c11e5a0..23ab5a34e9 100644 --- a/docs/database/database-metrics.md +++ b/docs/database/database-metrics.md @@ -139,7 +139,6 @@ If a database operation involved multiple network calls (for example retries), t | Value | Description | Stability | |---|---|---| -| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -179,6 +178,7 @@ If a database operation involved multiple network calls (for example retries), t | `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/database/database-spans.md b/docs/database/database-spans.md index d5f7a34006..bdc447697a 100644 --- a/docs/database/database-spans.md +++ b/docs/database/database-spans.md @@ -139,7 +139,6 @@ If a parameter has no name and instead is referenced only by index, then `` | Value | Description | Stability | |---|---|---| -| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -179,6 +178,7 @@ If a parameter has no name and instead is referenced only by index, then `` | `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/database/dynamodb.md b/docs/database/dynamodb.md index b047b7644d..3f09a36a6c 100644 --- a/docs/database/dynamodb.md +++ b/docs/database/dynamodb.md @@ -35,7 +35,6 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -75,6 +74,7 @@ These attributes are filled in for all DynamoDB request types. | `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -123,11 +123,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -165,11 +165,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -211,11 +211,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -253,11 +253,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -293,11 +293,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -333,11 +333,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -376,11 +376,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -418,11 +418,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -460,11 +460,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -508,11 +508,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -559,11 +559,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -601,11 +601,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -646,11 +646,11 @@ These attributes are filled in for all DynamoDB request types. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/database/elasticsearch.md b/docs/database/elasticsearch.md index ccf99bdafd..c90b7aa814 100644 --- a/docs/database/elasticsearch.md +++ b/docs/database/elasticsearch.md @@ -93,6 +93,7 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -102,7 +103,6 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/dotnet/dotnet-aspnetcore-metrics.md b/docs/dotnet/dotnet-aspnetcore-metrics.md index 414f9dee12..089ab7f902 100644 --- a/docs/dotnet/dotnet-aspnetcore-metrics.md +++ b/docs/dotnet/dotnet-aspnetcore-metrics.md @@ -75,8 +75,8 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | Value | Description | Stability | |---|---|---| -| `success` | Match succeeded | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `failure` | Match failed | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `success` | Match succeeded | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -153,10 +153,10 @@ it's RECOMMENDED to: | Value | Description | Stability | |---|---|---| +| `aborted` | Exception handling didn't run because the request was aborted. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `handled` | Exception was handled by the exception handling middleware. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `unhandled` | Exception was not handled by the exception handling middleware. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `skipped` | Exception handling was skipped because the response had started. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `aborted` | Exception handling didn't run because the request was aborted. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `unhandled` | Exception was not handled by the exception handling middleware. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `error.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/docs/dotnet/dotnet-kestrel-metrics.md b/docs/dotnet/dotnet-kestrel-metrics.md index 9a4573ea60..92d58266ee 100644 --- a/docs/dotnet/dotnet-kestrel-metrics.md +++ b/docs/dotnet/dotnet-kestrel-metrics.md @@ -85,9 +85,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -181,9 +181,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -257,9 +257,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -332,9 +332,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -413,9 +413,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -490,9 +490,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -580,9 +580,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -655,9 +655,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/dotnet/dotnet-signalr-metrics.md b/docs/dotnet/dotnet-signalr-metrics.md index 45a8e71082..9306e5b5c4 100644 --- a/docs/dotnet/dotnet-signalr-metrics.md +++ b/docs/dotnet/dotnet-signalr-metrics.md @@ -58,17 +58,17 @@ of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. | Value | Description | Stability | |---|---|---| +| `app_shutdown` | The connection was closed because the app is shutting down. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `normal_closure` | The connection was closed normally. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `timeout` | The connection was closed due to a timeout. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `app_shutdown` | The connection was closed because the app is shutting down. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `signalr.transport` 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 | |---|---|---| -| `server_sent_events` | ServerSentEvents protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `long_polling` | LongPolling protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `server_sent_events` | ServerSentEvents protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `web_sockets` | WebSockets protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -117,17 +117,17 @@ of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. | Value | Description | Stability | |---|---|---| +| `app_shutdown` | The connection was closed because the app is shutting down. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `normal_closure` | The connection was closed normally. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `timeout` | The connection was closed due to a timeout. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `app_shutdown` | The connection was closed because the app is shutting down. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `signalr.transport` 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 | |---|---|---| -| `server_sent_events` | ServerSentEvents protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `long_polling` | LongPolling protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `server_sent_events` | ServerSentEvents protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `web_sockets` | WebSockets protocol | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/faas/faas-metrics.md b/docs/faas/faas-metrics.md index 6cf92184c1..fb7a2d2e18 100644 --- a/docs/faas/faas-metrics.md +++ b/docs/faas/faas-metrics.md @@ -83,9 +83,9 @@ of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -136,9 +136,9 @@ of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -185,9 +185,9 @@ This metric is [recommended][MetricRecommended]. |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -234,9 +234,9 @@ This metric is [recommended][MetricRecommended]. |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -283,9 +283,9 @@ This metric is [recommended][MetricRecommended]. |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -332,9 +332,9 @@ This metric is [recommended][MetricRecommended]. |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -381,9 +381,9 @@ This metric is [recommended][MetricRecommended]. |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -434,9 +434,9 @@ of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -483,9 +483,9 @@ This metric is [recommended][MetricRecommended]. |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/faas/faas-spans.md b/docs/faas/faas-spans.md index 1fa09f9a3d..c60a8a50f9 100644 --- a/docs/faas/faas-spans.md +++ b/docs/faas/faas-spans.md @@ -87,9 +87,9 @@ call to invoke the lambda, which is often HTTP). |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -163,9 +163,9 @@ call to invoke the lambda, which is often HTTP). |---|---|---| | `datasource` | A response to some data source operation such as a database or filesystem read/write | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `http` | To provide an answer to an inbound HTTP request | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pubsub` | A function is set to be executed when messages are sent to a messaging system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timer` | A function is scheduled to be executed regularly | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `other` | If none of the others apply | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -266,9 +266,9 @@ FaaS instrumentations that produce `faas` spans with trigger `datasource`, SHOUL | Value | Description | Stability | |---|---|---| -| `insert` | When a new object is created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `edit` | When an object is modified. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `delete` | When an object is deleted. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `edit` | When an object is modified. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `insert` | When a new object is created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/general/attributes.md b/docs/general/attributes.md index d6a848bdf9..a2d548b8aa 100644 --- a/docs/general/attributes.md +++ b/docs/general/attributes.md @@ -244,9 +244,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -325,38 +325,38 @@ Note that `network.local.*` attributes are not included in these examples since | Value | Description | Stability | |---|---|---| -| `gprs` | GPRS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `edge` | EDGE | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `umts` | UMTS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cdma` | CDMA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cdma2000_1xrtt` | CDMA2000 1XRTT | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `edge` | EDGE | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ehrpd` | EHRPD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `evdo_0` | EVDO Rel. 0 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `evdo_a` | EVDO Rev. A | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cdma2000_1xrtt` | CDMA2000 1XRTT | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `evdo_b` | EVDO Rev. B | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gprs` | GPRS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gsm` | GSM | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hsdpa` | HSDPA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hsupa` | HSUPA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hspa` | HSPA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `iden` | IDEN | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `evdo_b` | EVDO Rev. B | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `lte` | LTE | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ehrpd` | EHRPD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hspap` | HSPAP | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `gsm` | GSM | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `td_scdma` | TD-SCDMA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hsupa` | HSUPA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `iden` | IDEN | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `iwlan` | IWLAN | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `lte` | LTE | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `lte_ca` | LTE CA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `nr` | 5G NR (New Radio) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `nrnsa` | 5G NRNSA (New Radio Non-Standalone) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `lte_ca` | LTE CA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `td_scdma` | TD-SCDMA | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `umts` | UMTS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `network.connection.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 | |---|---|---| -| `wifi` | wifi | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `wired` | wired | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cell` | cell | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `unavailable` | unavailable | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `unknown` | unknown | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `wifi` | wifi | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `wired` | wired | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/general/logs.md b/docs/general/logs.md index 68ebd60442..00eb5ce9c8 100644 --- a/docs/general/logs.md +++ b/docs/general/logs.md @@ -108,8 +108,8 @@ As such, these should be recorded as Log Record attributes when applicable. They | Value | Description | Stability | |---|---|---| -| `stdout` | Logs from stdout stream | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `stderr` | Events from stderr stream | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `stdout` | Logs from stdout stream | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/graphql/graphql-spans.md b/docs/graphql/graphql-spans.md index 54f105209e..c0e11ea2d0 100644 --- a/docs/graphql/graphql-spans.md +++ b/docs/graphql/graphql-spans.md @@ -35,8 +35,8 @@ MAY be used as span name. | Value | Description | Stability | |---|---|---| -| `query` | GraphQL query | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `mutation` | GraphQL mutation | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `query` | GraphQL query | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `subscription` | GraphQL subscription | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/http/http-metrics.md b/docs/http/http-metrics.md index b0a5fd3cd5..49b504d89c 100644 --- a/docs/http/http-metrics.md +++ b/docs/http/http-metrics.md @@ -170,6 +170,7 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -179,7 +180,6 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -254,6 +254,7 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -263,7 +264,6 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -382,6 +382,7 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -391,7 +392,6 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -510,6 +510,7 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -519,7 +520,6 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -630,6 +630,7 @@ If the request has completed successfully, instrumentations SHOULD NOT set `erro | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -639,7 +640,6 @@ If the request has completed successfully, instrumentations SHOULD NOT set `erro | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -776,6 +776,7 @@ If the request has completed successfully, instrumentations SHOULD NOT set `erro | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -785,7 +786,6 @@ If the request has completed successfully, instrumentations SHOULD NOT set `erro | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -895,6 +895,7 @@ If the request has completed successfully, instrumentations SHOULD NOT set `erro | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -904,7 +905,6 @@ If the request has completed successfully, instrumentations SHOULD NOT set `erro | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -1091,6 +1091,7 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -1100,7 +1101,6 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/http/http-spans.md b/docs/http/http-spans.md index f25c9e93d5..2c9869610d 100644 --- a/docs/http/http-spans.md +++ b/docs/http/http-spans.md @@ -229,6 +229,7 @@ and SHOULD be provided **at span creation time** (if provided at all): | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -238,16 +239,15 @@ and SHOULD be provided **at span creation time** (if provided at all): | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `network.transport` 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 | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -493,6 +493,7 @@ and SHOULD be provided **at span creation time** (if provided at all): | Value | Description | Stability | |---|---|---| +| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `CONNECT` | CONNECT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `DELETE` | DELETE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `GET` | GET method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -502,16 +503,15 @@ and SHOULD be provided **at span creation time** (if provided at all): | `POST` | POST method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `PUT` | PUT method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `_OTHER` | Any HTTP method that the instrumentation has no prior knowledge of. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `network.transport` 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 | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/messaging/azure-messaging.md b/docs/messaging/azure-messaging.md index 8c9f954a6c..6bcfc5183f 100644 --- a/docs/messaging/azure-messaging.md +++ b/docs/messaging/azure-messaging.md @@ -90,10 +90,10 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi | Value | Description | Stability | |---|---|---| -| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `process` | One or more messages are delivered to or processed by a consumer. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `settle` | One or more messages are settled. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -101,8 +101,8 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi | Value | Description | Stability | |---|---|---| -| `complete` | Message is completed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `abandon` | Message is abandoned | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `complete` | Message is completed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `dead_letter` | Message is sent to dead letter queue | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `defer` | Message is deferred | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -191,10 +191,10 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi | Value | Description | Stability | |---|---|---| -| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `process` | One or more messages are delivered to or processed by a consumer. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `settle` | One or more messages are settled. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/messaging/gcp-pubsub.md b/docs/messaging/gcp-pubsub.md index c50fa8dc5e..9262b04972 100644 --- a/docs/messaging/gcp-pubsub.md +++ b/docs/messaging/gcp-pubsub.md @@ -86,10 +86,10 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi | Value | Description | Stability | |---|---|---| -| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `process` | One or more messages are delivered to or processed by a consumer. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `settle` | One or more messages are settled. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/messaging/kafka.md b/docs/messaging/kafka.md index 5c2d0de5ed..4ae6b9a6d5 100644 --- a/docs/messaging/kafka.md +++ b/docs/messaging/kafka.md @@ -106,10 +106,10 @@ body size should be used. | Value | Description | Stability | |---|---|---| -| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `process` | One or more messages are delivered to or processed by a consumer. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `settle` | One or more messages are settled. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/messaging/messaging-metrics.md b/docs/messaging/messaging-metrics.md index 7ba1ddc559..8e67d5f3c8 100644 --- a/docs/messaging/messaging-metrics.md +++ b/docs/messaging/messaging-metrics.md @@ -96,12 +96,12 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi | `aws_sqs` | Amazon Simple Queue Service (SQS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `eventgrid` | Azure Event Grid | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `eventhubs` | Azure Event Hubs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `servicebus` | Azure Service Bus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_pubsub` | Google Cloud Pub/Sub | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `jms` | Java Message Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `kafka` | Apache Kafka | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `rabbitmq` | RabbitMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `rocketmq` | Apache RocketMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `servicebus` | Azure Service Bus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/messaging/messaging-spans.md b/docs/messaging/messaging-spans.md index 8320add5bf..9eed8ed98b 100644 --- a/docs/messaging/messaging-spans.md +++ b/docs/messaging/messaging-spans.md @@ -382,10 +382,10 @@ If a messaging operation involved multiple network calls (for example retries), | Value | Description | Stability | |---|---|---| -| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `process` | One or more messages are delivered to or processed by a consumer. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `settle` | One or more messages are settled. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -397,12 +397,12 @@ If a messaging operation involved multiple network calls (for example retries), | `aws_sqs` | Amazon Simple Queue Service (SQS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `eventgrid` | Azure Event Grid | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `eventhubs` | Azure Event Hubs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `servicebus` | Azure Service Bus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_pubsub` | Google Cloud Pub/Sub | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `jms` | Java Message Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `kafka` | Apache Kafka | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `rabbitmq` | RabbitMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `rocketmq` | Apache RocketMQ | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `servicebus` | Azure Service Bus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/messaging/rabbitmq.md b/docs/messaging/rabbitmq.md index 58b84ee524..17c77d7e24 100644 --- a/docs/messaging/rabbitmq.md +++ b/docs/messaging/rabbitmq.md @@ -91,10 +91,10 @@ body size should be used. | Value | Description | Stability | |---|---|---| -| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `process` | One or more messages are delivered to or processed by a consumer. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `settle` | One or more messages are settled. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/messaging/rocketmq.md b/docs/messaging/rocketmq.md index 1e9bde4e29..366beb39e1 100644 --- a/docs/messaging/rocketmq.md +++ b/docs/messaging/rocketmq.md @@ -102,10 +102,10 @@ body size should be used. | Value | Description | Stability | |---|---|---| -| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `create` | A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `process` | One or more messages are delivered to or processed by a consumer. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `publish` | One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `receive` | One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `settle` | One or more messages are settled. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -113,17 +113,17 @@ body size should be used. | Value | Description | Stability | |---|---|---| -| `clustering` | Clustering consumption model | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `broadcasting` | Broadcasting consumption model | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `clustering` | Clustering consumption model | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `messaging.rocketmq.message.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 | |---|---|---| -| `normal` | Normal message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `fifo` | FIFO message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `delay` | Delay message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `fifo` | FIFO message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `normal` | Normal message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `transaction` | Transaction message | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/object-stores/s3.md b/docs/object-stores/s3.md index 491ef6f141..7ec191c83d 100644 --- a/docs/object-stores/s3.md +++ b/docs/object-stores/s3.md @@ -87,11 +87,11 @@ This applies in particular to the following operations: | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/resource/cloud.md b/docs/resource/cloud.md index f2aa753bbe..db4ecfb596 100644 --- a/docs/resource/cloud.md +++ b/docs/resource/cloud.md @@ -55,26 +55,26 @@ The following well-known definitions MUST be used if you set this attribute and | `alibaba_cloud_ecs` | Alibaba Cloud Elastic Compute Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `alibaba_cloud_fc` | Alibaba Cloud Function Compute | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `alibaba_cloud_openshift` | Red Hat OpenShift on Alibaba Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aws_app_runner` | AWS App Runner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_ec2` | AWS Elastic Compute Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_ecs` | AWS Elastic Container Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_eks` | AWS Elastic Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aws_lambda` | AWS Lambda | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aws_app_runner` | AWS App Runner | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aws_lambda` | AWS Lambda | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `azure_vm` | Azure Virtual Machines | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure_aks` | Azure Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure_app_service` | Azure App Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `azure_container_apps` | Azure Container Apps | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `azure_container_instances` | Azure Container Instances | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `azure_aks` | Azure Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `azure_functions` | Azure Functions | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `azure_app_service` | Azure App Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `azure_openshift` | Azure Red Hat OpenShift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure_vm` | Azure Virtual Machines | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `gcp_compute_engine` | Google Cloud Compute Engine (GCE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_cloud_run` | Google Cloud Run | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `gcp_compute_engine` | Google Cloud Compute Engine (GCE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_kubernetes_engine` | Google Cloud Kubernetes Engine (GKE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_openshift` | Red Hat OpenShift on Google Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ibm_cloud_openshift` | Red Hat OpenShift on IBM Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `tencent_cloud_cvm` | Tencent Cloud Cloud Virtual Machine (CVM) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/resource/os.md b/docs/resource/os.md index c4966fea8e..172c6171bc 100644 --- a/docs/resource/os.md +++ b/docs/resource/os.md @@ -27,16 +27,16 @@ In case of virtualized environments, this is the operating system as it is obser | Value | Description | Stability | |---|---|---| -| `windows` | Microsoft Windows | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `linux` | Linux | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aix` | AIX (Advanced Interactive eXecutive) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `darwin` | Apple Darwin | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dragonflybsd` | DragonFly BSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `freebsd` | FreeBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hpux` | HP-UX (Hewlett Packard Unix) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `linux` | Linux | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `netbsd` | NetBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `openbsd` | OpenBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dragonflybsd` | DragonFly BSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hpux` | HP-UX (Hewlett Packard Unix) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aix` | AIX (Advanced Interactive eXecutive) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `solaris` | SunOS, Oracle Solaris | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `windows` | Microsoft Windows | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `z_os` | IBM z/OS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/rpc/connect-rpc.md b/docs/rpc/connect-rpc.md index 113218f310..9189bed9a5 100644 --- a/docs/rpc/connect-rpc.md +++ b/docs/rpc/connect-rpc.md @@ -41,22 +41,22 @@ Below is a table of attributes that SHOULD be included on client and server Conn | Value | Description | Stability | |---|---|---| +| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `already_exists` | already_exists | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cancelled` | cancelled | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `unknown` | unknown | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `invalid_argument` | invalid_argument | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `data_loss` | data_loss | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deadline_exceeded` | deadline_exceeded | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `failed_precondition` | failed_precondition | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `internal` | internal | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `invalid_argument` | invalid_argument | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `not_found` | not_found | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `already_exists` | already_exists | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `out_of_range` | out_of_range | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `permission_denied` | permission_denied | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `resource_exhausted` | resource_exhausted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `failed_precondition` | failed_precondition | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `out_of_range` | out_of_range | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `unimplemented` | unimplemented | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `internal` | internal | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `unavailable` | unavailable | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `data_loss` | data_loss | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `unauthenticated` | unauthenticated | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `unavailable` | unavailable | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `unimplemented` | unimplemented | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `unknown` | unknown | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/rpc/rpc-metrics.md b/docs/rpc/rpc-metrics.md index 2463d11e43..f1fc177d9e 100644 --- a/docs/rpc/rpc-metrics.md +++ b/docs/rpc/rpc-metrics.md @@ -385,9 +385,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -403,11 +403,11 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/rpc/rpc-spans.md b/docs/rpc/rpc-spans.md index aee50b0bee..1004107ec3 100644 --- a/docs/rpc/rpc-spans.md +++ b/docs/rpc/rpc-spans.md @@ -137,9 +137,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -155,11 +155,11 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -219,9 +219,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -237,11 +237,11 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| -| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `apache_dubbo` | Apache Dubbo | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `connect_rpc` | Connect RPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dotnet_wcf` | .NET WCF | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `grpc` | gRPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `java_rmi` | Java RMI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -280,8 +280,8 @@ The event name MUST be `rpc.message`. | Value | Description | Stability | |---|---|---| -| `SENT` | sent | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `RECEIVED` | received | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `SENT` | sent | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/runtime/go-metrics.md b/docs/runtime/go-metrics.md index 5641dc40a9..3a4aa06521 100644 --- a/docs/runtime/go-metrics.md +++ b/docs/runtime/go-metrics.md @@ -75,8 +75,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `stack` | Memory allocated from the heap that is reserved for stack space, whether or not it is currently in-use. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `other` | Memory used by the Go runtime, excluding other categories of memory usage described in this enumeration. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `stack` | Memory allocated from the heap that is reserved for stack space, whether or not it is currently in-use. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** Computed from `/memory/classes/heap/stacks:bytes`. diff --git a/docs/runtime/jvm-metrics.md b/docs/runtime/jvm-metrics.md index bad7849aef..dc3df607f6 100644 --- a/docs/runtime/jvm-metrics.md +++ b/docs/runtime/jvm-metrics.md @@ -361,12 +361,12 @@ Note that this is the number of platform threads (as opposed to virtual threads) | Value | Description | Stability | |---|---|---| +| `blocked` | A thread that is blocked waiting for a monitor lock is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `new` | A thread that has not yet started is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `runnable` | A thread executing in the Java virtual machine is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `blocked` | A thread that is blocked waiting for a monitor lock is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `waiting` | A thread that is waiting indefinitely for another thread to perform a particular action is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `timed_waiting` | A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `terminated` | A thread that has exited is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `timed_waiting` | A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `waiting` | A thread that is waiting indefinitely for another thread to perform a particular action is in this state. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | diff --git a/docs/system/container-metrics.md b/docs/system/container-metrics.md index ec2666f9ac..dc855cdbdd 100644 --- a/docs/system/container-metrics.md +++ b/docs/system/container-metrics.md @@ -48,9 +48,9 @@ This metric is [opt-in][MetricOptIn]. | Value | Description | Stability | |---|---|---| -| `user` | When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `system` | When CPU is used by the system (host OS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `kernel` | When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `system` | When CPU is used by the system (host OS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user` | When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -189,8 +189,8 @@ This metric is [opt-in][MetricOptIn]. | Value | Description | Stability | |---|---|---| -| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `receive` | receive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/system/process-metrics.md b/docs/system/process-metrics.md index 4b49225e41..37df51e31d 100644 --- a/docs/system/process-metrics.md +++ b/docs/system/process-metrics.md @@ -289,8 +289,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `receive` | receive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -403,8 +403,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `voluntary` | voluntary | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `involuntary` | involuntary | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `voluntary` | voluntary | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md index 58eb0b0b40..de64378cb7 100644 --- a/docs/system/system-metrics.md +++ b/docs/system/system-metrics.md @@ -111,13 +111,13 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `user` | user | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `system` | system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `nice` | nice | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `idle` | idle | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `iowait` | iowait | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `interrupt` | interrupt | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `iowait` | iowait | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `nice` | nice | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `steal` | steal | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `system` | system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user` | user | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -163,13 +163,13 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `user` | user | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `system` | system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `nice` | nice | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `idle` | idle | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `iowait` | iowait | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `interrupt` | interrupt | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `iowait` | iowait | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `nice` | nice | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `steal` | steal | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `system` | system | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `user` | user | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -330,11 +330,11 @@ available on the system, that is `system.memory.limit`. | Value | Description | Stability | |---|---|---| -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `shared` | shared | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed, report shared memory usage with `metric.system.memory.shared` metric | | `buffers` | buffers | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cached` | cached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `shared` | shared | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed, report shared memory usage with `metric.system.memory.shared` metric | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -456,11 +456,11 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `shared` | shared | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed, report shared memory usage with `metric.system.memory.shared` metric | | `buffers` | buffers | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cached` | cached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `shared` | shared | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed, report shared memory usage with `metric.system.memory.shared` metric | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -509,8 +509,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -555,8 +555,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -956,21 +956,21 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `reserved` | reserved | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `system.filesystem.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 | |---|---|---| -| `fat32` | fat32 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `exfat` | exfat | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ext4` | ext4 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `fat32` | fat32 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hfsplus` | hfsplus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ntfs` | ntfs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `refs` | refs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hfsplus` | hfsplus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ext4` | ext4 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -1019,21 +1019,21 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `reserved` | reserved | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `system.filesystem.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 | |---|---|---| -| `fat32` | fat32 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `exfat` | exfat | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ext4` | ext4 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `fat32` | fat32 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hfsplus` | hfsplus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ntfs` | ntfs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `refs` | refs | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `hfsplus` | hfsplus | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `ext4` | ext4 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -1091,8 +1091,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `receive` | receive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -1138,8 +1138,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `receive` | receive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -1193,8 +1193,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `receive` | receive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -1240,8 +1240,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| -| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `receive` | receive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `transmit` | transmit | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -1296,9 +1296,9 @@ different processes could be listening on TCP port 12345 and UDP port 12345. | Value | Description | Stability | |---|---|---| +| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `tcp` | TCP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `udp` | UDP | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| `pipe` | Named or anonymous pipe. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `unix` | Unix domain socket | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -1366,10 +1366,10 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | |---|---|---| +| `defunct` | defunct | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `running` | running | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `sleeping` | sleeping | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `stopped` | stopped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `defunct` | defunct | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/templates/registry/markdown/enum_macros.j2 b/templates/registry/markdown/enum_macros.j2 index 3d57bd5654..84c213d0b0 100644 --- a/templates/registry/markdown/enum_macros.j2 +++ b/templates/registry/markdown/enum_macros.j2 @@ -4,7 +4,7 @@ | Value | Description | Stability | |---|---|---| -{% for espec in enum.type.members %}| `{{ espec.value }}` | {{ (espec.brief or espec.id) | trim }}{{ notes.add(espec.note) }} | {{ stability.badge(espec.stability, espec.deprecated) }} | +{% for espec in enum.type.members | sort(attribute='value') %}| `{{ espec.value }}` | {{ (espec.brief or espec.id) | trim }}{{ notes.add(espec.note) }} | {{ stability.badge(espec.stability, espec.deprecated) }} | {% endfor %}{{ notes.render() }}{% endmacro %} {% macro tables(enums, notes) %}{% for enum in enums | sort(attribute="name") %}{{ table(enum, notes) }} {% endfor %}{% endmacro %} From c98600cf91251effcb4eba4129711ecf45c3d4bf Mon Sep 17 00:00:00 2001 From: Steve Rao Date: Wed, 29 May 2024 23:24:14 +0800 Subject: [PATCH 15/22] Add semantic convention of influxDB (#949) Co-authored-by: Liudmila Molkova --- .chloggen/influxdb.yaml | 22 ++++++++++++++++++++++ docs/attributes-registry/db.md | 1 + docs/database/database-metrics.md | 1 + docs/database/database-spans.md | 1 + docs/database/dynamodb.md | 1 + model/registry/db.yaml | 4 ++++ 6 files changed, 30 insertions(+) create mode 100644 .chloggen/influxdb.yaml diff --git a/.chloggen/influxdb.yaml b/.chloggen/influxdb.yaml new file mode 100644 index 0000000000..ae6540b5ae --- /dev/null +++ b/.chloggen/influxdb.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: db + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add semantic convention of InfluxDB + +# 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: [949] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/attributes-registry/db.md b/docs/attributes-registry/db.md index b9179a347f..24fcd466b7 100644 --- a/docs/attributes-registry/db.md +++ b/docs/attributes-registry/db.md @@ -78,6 +78,7 @@ If a parameter has no name and instead is referenced only by index, then `` | `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `influxdb` | InfluxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/database/database-metrics.md b/docs/database/database-metrics.md index 23ab5a34e9..356fa99c9f 100644 --- a/docs/database/database-metrics.md +++ b/docs/database/database-metrics.md @@ -163,6 +163,7 @@ If a database operation involved multiple network calls (for example retries), t | `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `influxdb` | InfluxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/database/database-spans.md b/docs/database/database-spans.md index bdc447697a..99d5883286 100644 --- a/docs/database/database-spans.md +++ b/docs/database/database-spans.md @@ -163,6 +163,7 @@ If a parameter has no name and instead is referenced only by index, then `` | `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `influxdb` | InfluxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/database/dynamodb.md b/docs/database/dynamodb.md index 3f09a36a6c..1b18d2d98e 100644 --- a/docs/database/dynamodb.md +++ b/docs/database/dynamodb.md @@ -59,6 +59,7 @@ These attributes are filled in for all DynamoDB request types. | `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `influxdb` | InfluxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/db.yaml b/model/registry/db.yaml index 18d12f7367..9d20f6ba47 100644 --- a/model/registry/db.yaml +++ b/model/registry/db.yaml @@ -168,6 +168,10 @@ groups: value: 'hsqldb' brief: 'HyperSQL DataBase' stability: experimental + - id: influxdb + value: 'influxdb' + brief: 'InfluxDB' + stability: experimental - id: informix value: 'informix' brief: 'Informix' From e3217bea918e5433a760de999175b8fad6d1d855 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Wed, 29 May 2024 09:38:22 -0700 Subject: [PATCH 16/22] Add support for database batch operations (#1072) Co-authored-by: Liudmila Molkova --- .chloggen/database-batch-operations.yaml | 22 +++++++++++++++++++++ docs/attributes-registry/db.md | 25 +++++++++++++++--------- docs/database/cassandra.md | 20 +++++++++++-------- docs/database/cosmosdb.md | 20 +++++++++++-------- docs/database/database-metrics.md | 8 +++++++- docs/database/database-spans.md | 20 +++++++++++-------- docs/database/elasticsearch.md | 10 ++++++---- docs/database/hbase.md | 1 + docs/database/mongodb.md | 1 + docs/database/mssql.md | 15 ++++++++------ docs/database/redis.md | 1 + docs/database/sql.md | 15 ++++++++------ model/metrics/database-metrics.yaml | 2 ++ model/registry/db.yaml | 19 ++++++++++++++++++ 14 files changed, 129 insertions(+), 50 deletions(-) create mode 100644 .chloggen/database-batch-operations.yaml diff --git a/.chloggen/database-batch-operations.yaml b/.chloggen/database-batch-operations.yaml new file mode 100644 index 0000000000..30beccc95f --- /dev/null +++ b/.chloggen/database-batch-operations.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: db + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add support for database batch operations + +# 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: [ 712 ] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/attributes-registry/db.md b/docs/attributes-registry/db.md index 24fcd466b7..3af5405da2 100644 --- a/docs/attributes-registry/db.md +++ b/docs/attributes-registry/db.md @@ -23,25 +23,32 @@ This group defines the attributes used to describe telemetry in the context of d | `db.client.connections.state` | string | The state of a connection in the pool | `idle` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `db.collection.name` | string | The name of a collection (table, container) within the database. [1] | `public.users`; `customers` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `db.namespace` | string | The name of the database, fully qualified within the server address and port. [2] | `customers`; `test.users` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db.operation.name` | string | The name of the operation or command being executed. [3] | `findAndModify`; `HMSET`; `SELECT` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db.query.parameter.` | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [4] | `someval`; `55` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db.query.text` | string | The database query being executed. | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db.system` | string | The database management system (DBMS) product as identified by the client instrumentation. [5] | `other_sql`; `adabas`; `cache` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db.operation.batch.size` | int | The number of queries included in a [batch operation](/docs/database/database-spans.md#batch-operations). [3] | `2`; `3`; `4` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db.operation.name` | string | The name of the operation or command being executed. [4] | `findAndModify`; `HMSET`; `SELECT` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db.query.parameter.` | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [5] | `someval`; `55` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db.query.text` | string | The database query being executed. [6] | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db.system` | string | The database management system (DBMS) product as identified by the client instrumentation. [7] | `other_sql`; `adabas`; `cache` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. +For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. **[2]:** If a database system has multiple namespace components, they SHOULD be concatenated (potentially using database system specific conventions) from most general to most specific namespace component, and more specific namespaces SHOULD NOT be captured without the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid. Semantic conventions for individual database systems SHOULD document what `db.namespace` means in the context of that system. It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. -**[3]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[3]:** Operations are only considered batches when they contain two or more operations, and so `db.operation.batch.size` SHOULD never be `1`. + +**[4]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. +For batch operations, if the individual operations are known to have the same operation name then that operation name SHOULD be used prepended by `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. -**[4]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. +**[5]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. -**[5]:** The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system` is set to `postgresql` based on the instrumentation's best knowledge. +**[6]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. + +**[7]:** The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system` is set to `postgresql` based on the instrumentation's best knowledge. `db.client.connections.state` 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. @@ -206,9 +213,9 @@ This group defines attributes for Elasticsearch. | ----------------------------------- | ------ | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | | `db.elasticsearch.cluster.name` | string | Represents the identifier of an Elasticsearch cluster. | `e9106fc68e3044f0b1475b04bf4ffd5f` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `db.elasticsearch.node.name` | string | Represents the human-readable identifier of the node/instance to which a request was routed. | `instance-0000000001` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `db.elasticsearch.path_parts.` | string | A dynamic value in the url path. [6] | `db.elasticsearch.path_parts.index=test-index`; `db.elasticsearch.path_parts.doc_id=123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db.elasticsearch.path_parts.` | string | A dynamic value in the url path. [8] | `db.elasticsearch.path_parts.index=test-index`; `db.elasticsearch.path_parts.doc_id=123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[6]:** Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format `db.elasticsearch.path_parts.`, where `` is the url path part name. The implementation SHOULD reference the [elasticsearch schema](https://raw.githubusercontent.com/elastic/elasticsearch-specification/main/output/schema/schema.json) in order to map the path part values to their names. +**[8]:** Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format `db.elasticsearch.path_parts.`, where `` is the url path part name. The implementation SHOULD reference the [elasticsearch schema](https://raw.githubusercontent.com/elastic/elasticsearch-specification/main/output/schema/schema.json) in order to map the path part values to their names. ## Db Metrics Deprecated Attributes diff --git a/docs/database/cassandra.md b/docs/database/cassandra.md index f06e3ffa58..a8b01dc7b7 100644 --- a/docs/database/cassandra.md +++ b/docs/database/cassandra.md @@ -34,14 +34,15 @@ described on this page. | [`db.cassandra.idempotence`](/docs/attributes-registry/db.md) | boolean | Whether or not the query is idempotent. | | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.cassandra.page_size`](/docs/attributes-registry/db.md) | int | The fetch size used for paging, i.e. how many rows will be returned at once. | `5000` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.cassandra.speculative_execution_count`](/docs/attributes-registry/db.md) | int | The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. | `0`; `2` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [9] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`network.peer.address`](/docs/attributes-registry/network.md) | string | Peer address of the database node where the operation was performed. [10] | `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. [9] | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [10] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`network.peer.address`](/docs/attributes-registry/network.md) | string | Peer address of the database node where the operation was performed. [11] | `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`network.peer.port`](/docs/attributes-registry/network.md) | int | Peer port number of the network connection. | `65123` | `Recommended` if and only if `network.peer.address` is set. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [11] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [12] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [12] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [13] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. +For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. **[2]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name found in the query. @@ -49,6 +50,7 @@ If the collection name is parsed from the query text, it SHOULD be the first col **[4]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. +For batch operations, if the individual operations are known to have the same operation name then that operation name SHOULD be used prepended by `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. **[5]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. @@ -58,13 +60,15 @@ If the operation name is parsed from the query text, it SHOULD be the first oper **[8]:** If using a port other than the default port for this DBMS and if `server.address` is set. -**[9]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. +**[9]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. -**[10]:** If a database operation involved multiple network calls (for example retries), the address of the last contacted node SHOULD be used. +**[10]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. -**[11]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[11]:** If a database operation involved multiple network calls (for example retries), the address of the last contacted node SHOULD be used. -**[12]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. +**[12]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. + +**[13]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index 2c0d38530a..ddc471ba09 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -38,18 +38,20 @@ Cosmos DB instrumentation includes call-level (public API) surface spans and net | [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [6] | `80`; `8080`; `443` | `Conditionally Required` [7] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.cosmosdb.client_id`](/docs/attributes-registry/db.md) | string | Unique Cosmos client instance id. | `3ba4827d-4422-483f-b59f-85b74211c11d` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.cosmosdb.request_content_length`](/docs/attributes-registry/db.md) | int | Request payload size in bytes | | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [8] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [9] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`user_agent.original`](/docs/attributes-registry/user-agent.md) | string | Full user-agent string is generated by Cosmos DB SDK [10] | `cosmos-netstandard-sdk/3.23.0\|3.23.1\|1\|X64\|Linux 5.4.0-1098-azure 104 18\|.NET Core 3.1.32\|S\|` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [11] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. [8] | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [9] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [10] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`user_agent.original`](/docs/attributes-registry/user-agent.md) | string | Full user-agent string is generated by Cosmos DB SDK [11] | `cosmos-netstandard-sdk/3.23.0\|3.23.1\|1\|X64\|Linux 5.4.0-1098-azure 104 18\|.NET Core 3.1.32\|S\|` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [12] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. +For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. **[2]:** **[3]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. +For batch operations, if the individual operations are known to have the same operation name then that operation name SHOULD be used prepended by `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. **[4]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. @@ -59,15 +61,17 @@ If the operation name is parsed from the query text, it SHOULD be the first oper **[7]:** If using a port other than the default port for this DBMS and if `server.address` is set. -**[8]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. +**[8]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. -**[9]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[9]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. -**[10]:** The user-agent value is generated by SDK which is a combination of
`sdk_version` : Current version of SDK. e.g. 'cosmos-netstandard-sdk/3.23.0'
`direct_pkg_version` : Direct package version used by Cosmos DB SDK. e.g. '3.23.1'
`number_of_client_instances` : Number of cosmos client instances created by the application. e.g. '1'
`type_of_machine_architecture` : Machine architecture. e.g. 'X64'
`operating_system` : Operating System. e.g. 'Linux 5.4.0-1098-azure 104 18'
`runtime_framework` : Runtime Framework. e.g. '.NET Core 3.1.32'
`failover_information` : Generated key to determine if region failover enabled. +**[10]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. + +**[11]:** The user-agent value is generated by SDK which is a combination of
`sdk_version` : Current version of SDK. e.g. 'cosmos-netstandard-sdk/3.23.0'
`direct_pkg_version` : Direct package version used by Cosmos DB SDK. e.g. '3.23.1'
`number_of_client_instances` : Number of cosmos client instances created by the application. e.g. '1'
`type_of_machine_architecture` : Machine architecture. e.g. 'X64'
`operating_system` : Operating System. e.g. 'Linux 5.4.0-1098-azure 104 18'
`runtime_framework` : Runtime Framework. e.g. '.NET Core 3.1.32'
`failover_information` : Generated key to determine if region failover enabled. Format Reg-{D (Disabled discovery)}-S(application region)|L(List of preferred regions)|N(None, user did not configure it). Default value is "NS". -**[11]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. +**[12]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. diff --git a/docs/database/database-metrics.md b/docs/database/database-metrics.md index 356fa99c9f..af1c6026a3 100644 --- a/docs/database/database-metrics.md +++ b/docs/database/database-metrics.md @@ -79,7 +79,11 @@ of `[ 0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10 ]`. | Name | Instrument Type | Unit (UCUM) | Description | Stability | | -------- | --------------- | ----------- | -------------- | --------- | -| `db.client.operation.duration` | Histogram | `s` | Duration of database client operations. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `db.client.operation.duration` | Histogram | `s` | Duration of database client operations. [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +**[1]:** Batch operations SHOULD be recorded as a single operation. + @@ -110,6 +114,7 @@ of `[ 0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10 ]`. **[2]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. +For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. **[3]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name in the query. @@ -119,6 +124,7 @@ It is RECOMMENDED to capture the value as provided by the application without at **[5]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. +For batch operations, if the individual operations are known to have the same operation name then that operation name SHOULD be used prepended by `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. **[6]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. diff --git a/docs/database/database-spans.md b/docs/database/database-spans.md index 99d5883286..be4d280524 100644 --- a/docs/database/database-spans.md +++ b/docs/database/database-spans.md @@ -95,16 +95,17 @@ These attributes will usually be the same for all operations performed over the | [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the operation or command being executed. [5] | `findAndModify`; `HMSET`; `SELECT` | `Conditionally Required` [6] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [7] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [8] | `80`; `8080`; `443` | `Conditionally Required` [9] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [10] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`network.peer.address`](/docs/attributes-registry/network.md) | string | Peer address of the database node where the operation was performed. [11] | `10.1.2.80`; `/tmp/my.sock` | `Recommended` If applicable for this database system. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. [10] | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [11] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`network.peer.address`](/docs/attributes-registry/network.md) | string | Peer address of the database node where the operation was performed. [12] | `10.1.2.80`; `/tmp/my.sock` | `Recommended` If applicable for this database system. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`network.peer.port`](/docs/attributes-registry/network.md) | int | Peer port number of the network connection. | `65123` | `Recommended` if and only if `network.peer.address` is set. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [12] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [13] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [13] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [14] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system` is set to `postgresql` based on the instrumentation's best knowledge. **[2]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. +For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. **[3]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name found in the query. @@ -114,6 +115,7 @@ It is RECOMMENDED to capture the value as provided by the application without at **[5]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. +For batch operations, if the individual operations are known to have the same operation name then that operation name SHOULD be used prepended by `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. **[6]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. @@ -123,14 +125,16 @@ If the operation name is parsed from the query text, it SHOULD be the first oper **[9]:** If using a port other than the default port for this DBMS and if `server.address` is set. -**[10]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. +**[10]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. -**[11]:** Semantic conventions for individual database systems SHOULD document whether `network.peer.*` attributes are applicable. Network peer address and port are useful when the application interacts with individual database nodes directly. +**[11]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. + +**[12]:** Semantic conventions for individual database systems SHOULD document whether `network.peer.*` attributes are applicable. Network peer address and port are useful when the application interacts with individual database nodes directly. If a database operation involved multiple network calls (for example retries), the address of the last contacted node SHOULD be used. -**[12]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[13]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. -**[13]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. +**[14]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. diff --git a/docs/database/elasticsearch.md b/docs/database/elasticsearch.md index c90b7aa814..a4e2e62cae 100644 --- a/docs/database/elasticsearch.md +++ b/docs/database/elasticsearch.md @@ -40,8 +40,8 @@ If the endpoint id is not available, the span name SHOULD be the `http.request.m | [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [6] | `80`; `8080`; `443` | `Conditionally Required` [7] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.elasticsearch.cluster.name`](/docs/attributes-registry/db.md) | string | Represents the identifier of an Elasticsearch cluster. | `e9106fc68e3044f0b1475b04bf4ffd5f` | `Recommended` [8] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.elasticsearch.node.name`](/docs/attributes-registry/db.md) | string | Represents the human-readable identifier of the node/instance to which a request was routed. | `instance-0000000001` | `Recommended` [9] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.query.text`](/docs/attributes-registry/db.md) | string | The request body for a [search-type query](https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html), as a json string. | `"{\"query\":{\"term\":{\"user.id\":\"kimchy\"}}}"` | `Recommended` [10] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [11] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.text`](/docs/attributes-registry/db.md) | string | The request body for a [search-type query](https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html), as a json string. [10] | `"{\"query\":{\"term\":{\"user.id\":\"kimchy\"}}}"` | `Recommended` [11] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [12] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | **[1]:** This SHOULD be the endpoint identifier for the request. @@ -76,9 +76,11 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original **[9]:** When communicating with an Elastic Cloud deployment, this should be collected from the "X-Found-Handling-Instance" HTTP response header. -**[10]:** Should be collected by default for search-type queries and only if there is sanitization that excludes sensitive information. +**[10]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. -**[11]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[11]:** Should be collected by default for search-type queries and only if there is sanitization that excludes sensitive information. + +**[12]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. diff --git a/docs/database/hbase.md b/docs/database/hbase.md index 3e83f1a6ea..2fadedff23 100644 --- a/docs/database/hbase.md +++ b/docs/database/hbase.md @@ -36,6 +36,7 @@ described on this page. **[3]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. +For batch operations, if the individual operations are known to have the same operation name then that operation name SHOULD be used prepended by `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. **[4]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. diff --git a/docs/database/mongodb.md b/docs/database/mongodb.md index 7424e675cf..229b8213e1 100644 --- a/docs/database/mongodb.md +++ b/docs/database/mongodb.md @@ -32,6 +32,7 @@ described on this page. **[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. +For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. **[2]:** diff --git a/docs/database/mssql.md b/docs/database/mssql.md index faae65a4c9..8f5c3325ac 100644 --- a/docs/database/mssql.md +++ b/docs/database/mssql.md @@ -28,12 +28,13 @@ described on this page. | [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the operation or command being executed. [4] | `SELECT`; `INSERT`; `UPDATE`; `DELETE`; `CREATE`; `mystoredproc` | `Conditionally Required` [5] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [6] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [7] | `80`; `8080`; `443` | `Conditionally Required` [8] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [9] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [10] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [11] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. [9] | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [10] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [11] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [12] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. +For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. **[2]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name found in the query. @@ -51,11 +52,13 @@ In the case of `EXEC`, this SHOULD be the stored procedure name that is being ex **[8]:** If using a port other than the default port for this DBMS and if `server.address` is set. -**[9]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. +**[9]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. -**[10]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[10]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. -**[11]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. +**[11]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. + +**[12]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. diff --git a/docs/database/redis.md b/docs/database/redis.md index 696d248c6f..d0c7a2258d 100644 --- a/docs/database/redis.md +++ b/docs/database/redis.md @@ -39,6 +39,7 @@ For commands that switch the database, this SHOULD be set to the target database **[2]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. +For batch operations, if the individual operations are known to have the same operation name then that operation name SHOULD be used prepended by `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. **[3]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. diff --git a/docs/database/sql.md b/docs/database/sql.md index d9b9d42e00..f413aeaac8 100644 --- a/docs/database/sql.md +++ b/docs/database/sql.md @@ -26,12 +26,13 @@ described on this page. | [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the operation or command being executed. [4] | `SELECT`; `INSERT`; `UPDATE`; `DELETE`; `CREATE`; `mystoredproc` | `Conditionally Required` [5] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [6] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [7] | `80`; `8080`; `443` | `Conditionally Required` [8] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [9] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [10] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [11] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. [9] | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [10] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [11] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [12] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. +For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. **[2]:** If readily available. The collection name MAY be parsed from the query text, in which case it SHOULD be the first collection name found in the query. @@ -66,11 +67,13 @@ In the case of `EXEC`, this SHOULD be the stored procedure name that is being ex **[8]:** If using a port other than the default port for this DBMS and if `server.address` is set. -**[9]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. +**[9]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. -**[10]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[10]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. -**[11]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. +**[11]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. + +**[12]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. diff --git a/model/metrics/database-metrics.yaml b/model/metrics/database-metrics.yaml index 969c47a0dc..eef11ec5d4 100644 --- a/model/metrics/database-metrics.yaml +++ b/model/metrics/database-metrics.yaml @@ -3,6 +3,8 @@ groups: type: metric metric_name: db.client.operation.duration brief: "Duration of database client operations." + note: > + Batch operations SHOULD be recorded as a single operation. instrument: histogram unit: "s" stability: experimental diff --git a/model/registry/db.yaml b/model/registry/db.yaml index 9d20f6ba47..56fe3294c1 100644 --- a/model/registry/db.yaml +++ b/model/registry/db.yaml @@ -14,6 +14,9 @@ groups: If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. + + For batch operations, if the individual operations are known to have the same collection name + then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. examples: ['public.users', 'customers'] - id: namespace type: string @@ -40,12 +43,20 @@ groups: It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. + + For batch operations, if the individual operations are known to have the same operation name + then that operation name SHOULD be used prepended by `BATCH `, + otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. examples: ['findAndModify', 'HMSET', 'SELECT'] - id: query.text type: string stability: experimental brief: > The database query being executed. + note: > + For batch operations, if the individual operations are known to have the same query text + then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated + with separator `; ` or some other database system specific separator if more applicable. examples: ['SELECT * FROM wuser_table where username = ?', 'SET mykey "WuValue"'] - id: query.parameter type: template[string] @@ -59,6 +70,14 @@ groups: If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. examples: ['someval', '55'] + - id: operation.batch.size + type: int + stability: experimental + brief: The number of queries included in a [batch operation](/docs/database/database-spans.md#batch-operations). + note: > + Operations are only considered batches when they contain two or more operations, + and so `db.operation.batch.size` SHOULD never be `1`. + examples: [ 2, 3, 4 ] - id: system brief: The database management system (DBMS) product as identified by the client instrumentation. note: > From b56bad395b887afa1323dab4e87e8e7982f78472 Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Wed, 29 May 2024 17:57:14 +0100 Subject: [PATCH 17/22] Database: clarify list of SQL `db.system`s (#1024) Co-authored-by: Trask Stalnaker Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> --- .chloggen/1024.yaml | 4 ++++ docs/database/sql.md | 35 ++++++++++++++++++++++++++++------- 2 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 .chloggen/1024.yaml diff --git a/.chloggen/1024.yaml b/.chloggen/1024.yaml new file mode 100644 index 0000000000..d4d2a34b7d --- /dev/null +++ b/.chloggen/1024.yaml @@ -0,0 +1,4 @@ +change_type: enhancement +component: db +note: List SQL database systems on the SQL semantic conventions. +issues: [1024] diff --git a/docs/database/sql.md b/docs/database/sql.md index f413aeaac8..5529468337 100644 --- a/docs/database/sql.md +++ b/docs/database/sql.md @@ -6,9 +6,33 @@ linkTitle: SQL **Status**: [Experimental][DocumentStatus] -The SQL databases Semantic Conventions extend and override the [Database Semantic Conventions](database-spans.md) -that describe common database operations attributes in addition to the Semantic Conventions -described on this page. +The SQL databases Semantic Conventions describes how common [Database Semantic Conventions](database-spans.md) apply to SQL databases. + +The following database systems (defined in the [`db.system`](./database-spans.md#notes-and-well-known-identifiers-for-dbsystem) set) are known to use SQL as their primary query language: + +- `cockroachdb` +- `db2` +- `derby` +- `edb` +- `firebird` +- `h2` +- `hsqldb` +- `ingres` +- `interbase` +- `mariadb` +- `maxdb` +- `mssql` +- `mssqlcompact` +- `mysql` +- `oracle` +- `other_sql` +- `pervasive` +- `postgresql` +- `sqlite` +- `trino` + +Many other database systems support SQL and can be accessed via generic database driver such as JDBC or ODBC. +Instrumentations applied to generic SQL drivers SHOULD adhere to SQL semantic conventions. ## Attributes @@ -97,15 +121,12 @@ This is an example of attributes for a MySQL database span: | Key | Value | |:-----------------------| :----------------------------------------------------------- | -| Span name | `"SELECT ShopDb.orders"` | +| Span name | `"SELECT orders"` | | `db.collection.name` | `"orders"` | | `db.namespace` | `"ShopDb"` | | `db.system` | `"mysql"` | | `server.address` | `"shopdb.example.com"` | | `server.port` | `3306` | -| `network.peer.address` | `"192.0.2.12"` | -| `network.peer.port` | `3306` | -| `network.transport` | `"tcp"` | | `db.query.text` | `"SELECT * FROM orders WHERE order_id = 'o4711'"` | | `db.operation.name` | `"SELECT"` | From 6a0a75e73e0caed8c5f9bbb6cff34a752dbda310 Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Mon, 3 Jun 2024 12:33:39 +0100 Subject: [PATCH 18/22] [chore] Use document status link to otel.io instead of versioned spec (#1093) --- docs/attributes-registry/event.md | 2 +- docs/cloud-providers/README.md | 2 +- docs/cloud-providers/aws-sdk.md | 2 +- docs/cloudevents/README.md | 2 +- docs/cloudevents/cloudevents-spans.md | 2 +- docs/database/README.md | 2 +- docs/database/cassandra.md | 2 +- docs/database/cosmosdb.md | 2 +- docs/database/couchdb.md | 2 +- docs/database/database-metrics.md | 2 +- docs/database/database-spans.md | 2 +- docs/database/dynamodb.md | 2 +- docs/database/elasticsearch.md | 2 +- docs/database/hbase.md | 2 +- docs/database/mongodb.md | 2 +- docs/database/mssql.md | 2 +- docs/database/redis.md | 2 +- docs/database/sql.md | 2 +- docs/dns/dns-metrics.md | 2 +- docs/dotnet/README.md | 2 +- docs/dotnet/dotnet-aspnetcore-metrics.md | 2 +- docs/dotnet/dotnet-dns-metrics.md | 2 +- docs/dotnet/dotnet-http-metrics.md | 2 +- docs/dotnet/dotnet-kestrel-metrics.md | 2 +- docs/dotnet/dotnet-signalr-metrics.md | 2 +- docs/exceptions/README.md | 2 +- docs/exceptions/exceptions-logs.md | 2 +- docs/exceptions/exceptions-spans.md | 2 +- docs/faas/README.md | 2 +- docs/faas/aws-lambda.md | 2 +- docs/faas/faas-metrics.md | 2 +- docs/faas/faas-spans.md | 2 +- docs/feature-flags/README.md | 2 +- docs/feature-flags/feature-flags-logs.md | 2 +- docs/feature-flags/feature-flags-spans.md | 2 +- docs/gen-ai/README.md | 2 +- docs/gen-ai/gen-ai-metrics.md | 2 +- docs/gen-ai/llm-spans.md | 2 +- docs/general/attribute-naming.md | 2 +- docs/general/attribute-requirement-level.md | 4 ++-- docs/general/attributes.md | 2 +- docs/general/events.md | 4 ++-- docs/general/logs.md | 2 +- docs/general/metric-requirement-level.md | 2 +- docs/general/metrics.md | 2 +- docs/general/session.md | 2 +- docs/general/trace-compatibility.md | 2 +- docs/general/trace.md | 2 +- docs/graphql/graphql-spans.md | 2 +- docs/http/README.md | 2 +- docs/http/http-metrics.md | 2 +- docs/http/http-spans.md | 2 +- docs/messaging/README.md | 2 +- docs/messaging/azure-messaging.md | 2 +- docs/messaging/gcp-pubsub.md | 2 +- docs/messaging/kafka.md | 2 +- docs/messaging/messaging-metrics.md | 2 +- docs/messaging/messaging-spans.md | 2 +- docs/messaging/rabbitmq.md | 2 +- docs/messaging/rocketmq.md | 2 +- docs/mobile/README.md | 2 +- docs/mobile/events.md | 2 +- docs/object-stores/README.md | 2 +- docs/object-stores/s3.md | 2 +- docs/resource/README.md | 2 +- docs/resource/android.md | 2 +- docs/resource/browser.md | 2 +- docs/resource/cloud-provider/README.md | 2 +- docs/resource/cloud-provider/aws/README.md | 2 +- docs/resource/cloud-provider/aws/ecs.md | 2 +- docs/resource/cloud-provider/aws/eks.md | 2 +- docs/resource/cloud-provider/aws/logs.md | 2 +- docs/resource/cloud-provider/gcp/README.md | 2 +- docs/resource/cloud-provider/gcp/cloud-run.md | 2 +- docs/resource/cloud-provider/heroku.md | 2 +- docs/resource/cloud.md | 2 +- docs/resource/container.md | 2 +- docs/resource/deployment-environment.md | 2 +- docs/resource/device.md | 2 +- docs/resource/faas.md | 2 +- docs/resource/host.md | 2 +- docs/resource/k8s.md | 2 +- docs/resource/os.md | 2 +- docs/resource/process.md | 2 +- docs/resource/webengine.md | 2 +- docs/rpc/README.md | 2 +- docs/rpc/connect-rpc.md | 2 +- docs/rpc/grpc.md | 2 +- docs/rpc/json-rpc.md | 2 +- docs/rpc/rpc-metrics.md | 2 +- docs/rpc/rpc-spans.md | 2 +- docs/runtime/README.md | 2 +- docs/runtime/go-metrics.md | 2 +- docs/runtime/jvm-metrics.md | 2 +- docs/system/README.md | 2 +- docs/system/container-metrics.md | 4 ++-- docs/system/hardware-metrics.md | 2 +- docs/system/process-metrics.md | 2 +- docs/system/system-metrics.md | 2 +- docs/url/README.md | 2 +- docs/url/url.md | 2 +- model/registry/event.yaml | 2 +- 102 files changed, 105 insertions(+), 105 deletions(-) diff --git a/docs/attributes-registry/event.md b/docs/attributes-registry/event.md index 103d5fb045..f0dff5cdc6 100644 --- a/docs/attributes-registry/event.md +++ b/docs/attributes-registry/event.md @@ -14,4 +14,4 @@ Attributes for Events represented using Log Records. | ------------ | ------ | ----------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------- | | `event.name` | string | Identifies the class / type of event. [1] | `browser.mouse.click`; `device.app.lifecycle` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. +**[1]:** Event names are subject to the same rules as [attribute names](/docs/general/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. diff --git a/docs/cloud-providers/README.md b/docs/cloud-providers/README.md index d76cee68bf..dff28c6773 100644 --- a/docs/cloud-providers/README.md +++ b/docs/cloud-providers/README.md @@ -15,4 +15,4 @@ Semantic conventions exist for the following cloud provider SDKs: - [AWS SDK](aws-sdk.md): Semantic Conventions for the _AWS SDK_. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/cloud-providers/aws-sdk.md b/docs/cloud-providers/aws-sdk.md index 25a1a19c21..84e003d360 100644 --- a/docs/cloud-providers/aws-sdk.md +++ b/docs/cloud-providers/aws-sdk.md @@ -69,4 +69,4 @@ The following Semantic Conventions extend the general AWS SDK attributes for spe - [AWS DynamoDB](/docs/database/dynamodb.md): Semantic Conventions for _AWS DynamoDB_. - [AWS S3](/docs/object-stores/s3.md): Semantic Conventions for _AWS S3_. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/cloudevents/README.md b/docs/cloudevents/README.md index f68ae14808..3040cfa4c3 100644 --- a/docs/cloudevents/README.md +++ b/docs/cloudevents/README.md @@ -15,4 +15,4 @@ Semantic conventions for CloudEvents are defined for the following signals: - [CloudEvents Spans](cloudevents-spans.md): Semantic Conventions for modeling CloudEvents as _spans_. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/cloudevents/cloudevents-spans.md b/docs/cloudevents/cloudevents-spans.md index d769cb2743..ca5ea0d0e6 100644 --- a/docs/cloudevents/cloudevents-spans.md +++ b/docs/cloudevents/cloudevents-spans.md @@ -221,4 +221,4 @@ The following attributes are applicable to creation and processing Spans. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/README.md b/docs/database/README.md index a78631a67a..0225729a31 100644 --- a/docs/database/README.md +++ b/docs/database/README.md @@ -37,4 +37,4 @@ Technology specific semantic conventions are defined for the following databases * [Redis](redis.md): Semantic Conventions for *Redis*. * [SQL](sql.md): Semantic Conventions for *SQL* databases. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/cassandra.md b/docs/database/cassandra.md index a8b01dc7b7..abfb3d4f1f 100644 --- a/docs/database/cassandra.md +++ b/docs/database/cassandra.md @@ -103,4 +103,4 @@ If a parameter has no name and instead is referenced only by index, then `` -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index ddc471ba09..c604babe86 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -142,4 +142,4 @@ In addition to Cosmos DB attributes, all spans include | `db.cosmosdb.sub_status_code` | `0` | | `db.cosmosdb.request_charge` | `7.43` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/couchdb.md b/docs/database/couchdb.md index 1b897b80a8..aaba8f8346 100644 --- a/docs/database/couchdb.md +++ b/docs/database/couchdb.md @@ -58,4 +58,4 @@ described on this page. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/database-metrics.md b/docs/database/database-metrics.md index af1c6026a3..8f2eb662a5 100644 --- a/docs/database/database-metrics.md +++ b/docs/database/database-metrics.md @@ -567,6 +567,6 @@ This metric is [recommended][MetricRecommended]. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRequired]: /docs/general/metric-requirement-level.md#required [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/database/database-spans.md b/docs/database/database-spans.md index be4d280524..766c3d0237 100644 --- a/docs/database/database-spans.md +++ b/docs/database/database-spans.md @@ -244,4 +244,4 @@ More specific Semantic Conventions are defined for the following database techno * [Redis](redis.md): Semantic Conventions for *Redis*. * [SQL](sql.md): Semantic Conventions for *SQL* databases. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/dynamodb.md b/docs/database/dynamodb.md index 1b18d2d98e..a791b6dd43 100644 --- a/docs/database/dynamodb.md +++ b/docs/database/dynamodb.md @@ -660,4 +660,4 @@ These attributes are filled in for all DynamoDB request types. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/elasticsearch.md b/docs/database/elasticsearch.md index a4e2e62cae..9e42fc98d1 100644 --- a/docs/database/elasticsearch.md +++ b/docs/database/elasticsearch.md @@ -129,4 +129,4 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original | `db.elasticsearch.cluster.name` | `"e9106fc68e3044f0b1475b04bf4ffd5f"` | | `db.instance.id` | `"instance-0000000001"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/hbase.md b/docs/database/hbase.md index 2fadedff23..24573caae9 100644 --- a/docs/database/hbase.md +++ b/docs/database/hbase.md @@ -63,4 +63,4 @@ For batch operations, if the individual operations are known to have the same op -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/mongodb.md b/docs/database/mongodb.md index 229b8213e1..7d29443406 100644 --- a/docs/database/mongodb.md +++ b/docs/database/mongodb.md @@ -79,4 +79,4 @@ For batch operations, if the individual operations are known to have the same co | `db.query.text` | not set | | `db.operation.name` | `"findAndModify"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/mssql.md b/docs/database/mssql.md index 8f5c3325ac..c345b60833 100644 --- a/docs/database/mssql.md +++ b/docs/database/mssql.md @@ -76,4 +76,4 @@ If a parameter has no name and instead is referenced only by index, then `` -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/redis.md b/docs/database/redis.md index d0c7a2258d..9d1b5ef057 100644 --- a/docs/database/redis.md +++ b/docs/database/redis.md @@ -90,4 +90,4 @@ In this example, Redis is connected using a unix domain socket and therefore the | `db.query.text` | `"HMSET myhash field1 'Hello' field2 'World"` | | `db.operation.name` | `"HMSET"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/database/sql.md b/docs/database/sql.md index 5529468337..46d4ba036a 100644 --- a/docs/database/sql.md +++ b/docs/database/sql.md @@ -130,4 +130,4 @@ This is an example of attributes for a MySQL database span: | `db.query.text` | `"SELECT * FROM orders WHERE order_id = 'o4711'"` | | `db.operation.name` | `"SELECT"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/dns/dns-metrics.md b/docs/dns/dns-metrics.md index 0f0e32b471..150d3daf07 100644 --- a/docs/dns/dns-metrics.md +++ b/docs/dns/dns-metrics.md @@ -75,4 +75,4 @@ of `[ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/dotnet/README.md b/docs/dotnet/README.md index 198fc89401..05e379c551 100644 --- a/docs/dotnet/README.md +++ b/docs/dotnet/README.md @@ -19,4 +19,4 @@ The following metrics are currently supported: * [Kestrel](dotnet-kestrel-metrics.md): Semantic Conventions for Kestrel web server *metrics*. * [SignalR](dotnet-signalr-metrics.md): Semantic Conventions for SignalR server *metrics*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/dotnet/dotnet-aspnetcore-metrics.md b/docs/dotnet/dotnet-aspnetcore-metrics.md index 089ab7f902..e5f5447970 100644 --- a/docs/dotnet/dotnet-aspnetcore-metrics.md +++ b/docs/dotnet/dotnet-aspnetcore-metrics.md @@ -431,4 +431,4 @@ Meter name: `Microsoft.AspNetCore.RateLimiting`; Added in: ASP.NET Core 8.0 -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/dotnet/dotnet-dns-metrics.md b/docs/dotnet/dotnet-dns-metrics.md index 30a844607d..a9b735f3c5 100644 --- a/docs/dotnet/dotnet-dns-metrics.md +++ b/docs/dotnet/dotnet-dns-metrics.md @@ -54,4 +54,4 @@ for more details. |---|---| | `_OTHER` | A fallback error value to be used when the instrumentation doesn't define a custom value. | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/dotnet/dotnet-http-metrics.md b/docs/dotnet/dotnet-http-metrics.md index bcbda5abce..5904704ede 100644 --- a/docs/dotnet/dotnet-http-metrics.md +++ b/docs/dotnet/dotnet-http-metrics.md @@ -217,4 +217,4 @@ Notes: - Opt-in `server.address` and `server.port` attributes are not reported - Metric added in ASP.NET Core 8.0 -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/dotnet/dotnet-kestrel-metrics.md b/docs/dotnet/dotnet-kestrel-metrics.md index 92d58266ee..98860c6a05 100644 --- a/docs/dotnet/dotnet-kestrel-metrics.md +++ b/docs/dotnet/dotnet-kestrel-metrics.md @@ -675,4 +675,4 @@ different processes could be listening on TCP port 12345 and UDP port 12345. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/dotnet/dotnet-signalr-metrics.md b/docs/dotnet/dotnet-signalr-metrics.md index 9306e5b5c4..34cc560e5a 100644 --- a/docs/dotnet/dotnet-signalr-metrics.md +++ b/docs/dotnet/dotnet-signalr-metrics.md @@ -137,4 +137,4 @@ of `[ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]`. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/exceptions/README.md b/docs/exceptions/README.md index 73b51078a4..bee2851df8 100644 --- a/docs/exceptions/README.md +++ b/docs/exceptions/README.md @@ -16,4 +16,4 @@ Semantic conventions for Exceptions are defined for the following signals: * [Exceptions on spans](exceptions-spans.md): Semantic Conventions for Exceptions associated with *spans*. * [Exceptions in logs](exceptions-logs.md): Semantic Conventions for Exceptions recorded in *logs*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/exceptions/exceptions-logs.md b/docs/exceptions/exceptions-logs.md index 53f5389b19..ce0ad45562 100644 --- a/docs/exceptions/exceptions-logs.md +++ b/docs/exceptions/exceptions-logs.md @@ -65,4 +65,4 @@ The table below indicates which attributes should be added to the Same as [Trace Semantic Conventions for Exceptions - Stacktrace Representation](exceptions-spans.md#stacktrace-representation). -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/exceptions/exceptions-spans.md b/docs/exceptions/exceptions-spans.md index 45a75d400d..5b1b38a531 100644 --- a/docs/exceptions/exceptions-spans.md +++ b/docs/exceptions/exceptions-spans.md @@ -121,4 +121,4 @@ grained information from a stacktrace, if necessary. [telemetry-sdk-resource]: ../resource/README.md#telemetry-sdk [erlang-stacktrace]: https://www.erlang.org/doc/man/erl_error.html#format_exception-3 [elixir-stacktrace]: https://hexdocs.pm/elixir/1.14.3/Exception.html#format/3 -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/faas/README.md b/docs/faas/README.md index 24457f37ea..2f0950d790 100644 --- a/docs/faas/README.md +++ b/docs/faas/README.md @@ -20,4 +20,4 @@ Technology specific semantic conventions are defined for the following FaaS serv * [AWS Lambda](aws-lambda.md): Semantic Conventions for *AWS Lambda*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/faas/aws-lambda.md b/docs/faas/aws-lambda.md index 1a22179635..6613268bcf 100644 --- a/docs/faas/aws-lambda.md +++ b/docs/faas/aws-lambda.md @@ -303,4 +303,4 @@ because it is not available until function invocation. [environment variables]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/faas/faas-metrics.md b/docs/faas/faas-metrics.md index fb7a2d2e18..1270033b41 100644 --- a/docs/faas/faas-metrics.md +++ b/docs/faas/faas-metrics.md @@ -507,5 +507,5 @@ FaaS providers. This list is not exhaustive. * [Google CloudFunctions Metrics](https://cloud.google.com/monitoring/api/metrics_gcp#gcp-cloudfunctions) * [OpenFaas Metrics](https://docs.openfaas.com/architecture/metrics/) -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/faas/faas-spans.md b/docs/faas/faas-spans.md index c60a8a50f9..d7003732a8 100644 --- a/docs/faas/faas-spans.md +++ b/docs/faas/faas-spans.md @@ -336,4 +336,4 @@ This example shows the FaaS attributes for a (non-FaaS) process hosted on Google | Resource | `faas.instance` | n/a | `"my-lambda-function:instance-0001"` | | Resource | `cloud.resource_id` | n/a | `"arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/feature-flags/README.md b/docs/feature-flags/README.md index f5e938d2a6..2262031198 100644 --- a/docs/feature-flags/README.md +++ b/docs/feature-flags/README.md @@ -17,4 +17,4 @@ Semantic conventions for feature flags are defined for the following signals: * [Feature Flags in Spans](feature-flags-spans.md): Semantic Conventions for recording feature flags in *spans*. * [Feature Flags in Logs](feature-flags-logs.md): Semantic Conventions for recording feature flags in *logs*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/feature-flags/feature-flags-logs.md b/docs/feature-flags/feature-flags-logs.md index 2873ed5721..33e8cd0f53 100644 --- a/docs/feature-flags/feature-flags-logs.md +++ b/docs/feature-flags/feature-flags-logs.md @@ -69,4 +69,4 @@ should be determined by the implementer. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/feature-flags/feature-flags-spans.md b/docs/feature-flags/feature-flags-spans.md index c26d7f5976..f877fce133 100644 --- a/docs/feature-flags/feature-flags-spans.md +++ b/docs/feature-flags/feature-flags-spans.md @@ -73,4 +73,4 @@ should be determined by the implementer. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/gen-ai/README.md b/docs/gen-ai/README.md index 17d5ef099d..3bd772c58d 100644 --- a/docs/gen-ai/README.md +++ b/docs/gen-ai/README.md @@ -26,4 +26,4 @@ Semantic conventions for LLM operations are defined for the following signals: * [LLM Spans](llm-spans.md): Semantic Conventions for LLM requests - *spans*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/gen-ai/gen-ai-metrics.md b/docs/gen-ai/gen-ai-metrics.md index e68f0bf183..0a1278025c 100644 --- a/docs/gen-ai/gen-ai-metrics.md +++ b/docs/gen-ai/gen-ai-metrics.md @@ -176,7 +176,7 @@ Instrumentations SHOULD document the list of errors they report. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRequired]: /docs/general/metric-requirement-level.md#required [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended [ExplicitBucketBoundaries]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/metrics/api.md#instrument-advisory-parameters diff --git a/docs/gen-ai/llm-spans.md b/docs/gen-ai/llm-spans.md index 5b8c026c31..6e815e9153 100644 --- a/docs/gen-ai/llm-spans.md +++ b/docs/gen-ai/llm-spans.md @@ -127,4 +127,4 @@ The event name MUST be `gen_ai.content.completion`. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/attribute-naming.md b/docs/general/attribute-naming.md index 891c9df1ad..c45a92e1bf 100644 --- a/docs/general/attribute-naming.md +++ b/docs/general/attribute-naming.md @@ -157,4 +157,4 @@ Any additions to the `otel.*` namespace MUST be approved as part of OpenTelemetry specification. [DocumentStatus]: - https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md + https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/attribute-requirement-level.md b/docs/general/attribute-requirement-level.md index c70a2705b7..3a962bef7d 100644 --- a/docs/general/attribute-requirement-level.md +++ b/docs/general/attribute-requirement-level.md @@ -21,7 +21,7 @@ _This section applies to Log, Metric, Resource, and Span, and describes requirement levels for attributes defined in semantic conventions._ Attribute requirement levels apply to the -[instrumentation library](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/glossary.md#instrumentation-library). +[instrumentation library](https://opentelemetry.io/docs/concepts/glossary/#instrumentation-library). The following attribute requirement levels are specified: @@ -124,4 +124,4 @@ Here are several examples of expensive operations to be avoided by default: `Content-Length` header is not available [DocumentStatus]: - https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md + https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/attributes.md b/docs/general/attributes.md index a2d548b8aa..f8da8d3a6c 100644 --- a/docs/general/attributes.md +++ b/docs/general/attributes.md @@ -516,4 +516,4 @@ about the span. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/events.md b/docs/general/events.md index a96030d823..63fbe0812f 100644 --- a/docs/general/events.md +++ b/docs/general/events.md @@ -45,7 +45,7 @@ structure and semantics will also be defined. |---|---|---|---|---|---| | [`event.name`](/docs/attributes-registry/event.md) | string | Identifies the class / type of event. [1] | `browser.mouse.click`; `device.app.lifecycle` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. +**[1]:** Event names are subject to the same rules as [attribute names](/docs/general/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. @@ -109,4 +109,4 @@ such that the name identifies the event structurally. It is also recommended tha the event names have low-cardinality, so care must be taken to use fields that identify the class of Events but not the instance of the Event. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/logs.md b/docs/general/logs.md index 00eb5ce9c8..e7e649cde1 100644 --- a/docs/general/logs.md +++ b/docs/general/logs.md @@ -118,4 +118,4 @@ As such, these should be recorded as Log Record attributes when applicable. They -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/metric-requirement-level.md b/docs/general/metric-requirement-level.md index 822d82d930..38ff0a4378 100644 --- a/docs/general/metric-requirement-level.md +++ b/docs/general/metric-requirement-level.md @@ -40,4 +40,4 @@ Instrumentation that doesn't support configuration MUST NOT emit `Opt-In` metric This attribute requirement level is recommended for metrics that are particularly expensive to retrieve or might pose a security or privacy risk. These should therefore only be enabled deliberately by a user making an informed decision. [DocumentStatus]: - https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md + https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/metrics.md b/docs/general/metrics.md index 9d88590e12..6dffdaa3d5 100644 --- a/docs/general/metrics.md +++ b/docs/general/metrics.md @@ -260,4 +260,4 @@ For example, if you are tracking `active_requests` with an `UpDownCounter`, and request starts and decrementing it each time a request ends, then any attributes which are not yet available when incrementing the counter at request start should not be used when decrementing the counter at request end. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/session.md b/docs/general/session.md index ffe1d91611..3c4d50209f 100644 --- a/docs/general/session.md +++ b/docs/general/session.md @@ -35,4 +35,4 @@ backends can link the two sessions. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/trace-compatibility.md b/docs/general/trace-compatibility.md index 1c6c334490..be01272f81 100644 --- a/docs/general/trace-compatibility.md +++ b/docs/general/trace-compatibility.md @@ -53,4 +53,4 @@ between a child Span and a parent Span, as defined by -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/general/trace.md b/docs/general/trace.md index ca2c0c845d..abb156d4b0 100644 --- a/docs/general/trace.md +++ b/docs/general/trace.md @@ -37,4 +37,4 @@ Apart from semantic conventions for traces, [metrics](metrics.md), [logs](logs.m OpenTelemetry also defines the concept of overarching [Resources](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/resource/sdk.md) with their own [Resource Semantic Conventions](/docs/resource/README.md). -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/graphql/graphql-spans.md b/docs/graphql/graphql-spans.md index c0e11ea2d0..ade0325cfc 100644 --- a/docs/graphql/graphql-spans.md +++ b/docs/graphql/graphql-spans.md @@ -46,4 +46,4 @@ MAY be used as span name. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/http/README.md b/docs/http/README.md index 3bef999a0e..4d344d1408 100644 --- a/docs/http/README.md +++ b/docs/http/README.md @@ -44,4 +44,4 @@ Semantic conventions for HTTP are defined for the following signals: * [HTTP Spans](http-spans.md): Semantic Conventions for HTTP client and server *spans*. * [HTTP Metrics](http-metrics.md): Semantic Conventions for HTTP client and server *metrics*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/http/http-metrics.md b/docs/http/http-metrics.md index 49b504d89c..17be2fd420 100644 --- a/docs/http/http-metrics.md +++ b/docs/http/http-metrics.md @@ -1109,4 +1109,4 @@ Tracing instrumentations that do so, MUST also set `http.request.method_original -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/http/http-spans.md b/docs/http/http-spans.md index 2c9869610d..180d595d41 100644 --- a/docs/http/http-spans.md +++ b/docs/http/http-spans.md @@ -719,5 +719,5 @@ Span name: `POST /uploads/:document_id`. | `http.response.status_code` | `201` | | `error.type` | `WebSocketDisconnect` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [SpanProcessor]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/sdk.md#span-processor diff --git a/docs/messaging/README.md b/docs/messaging/README.md index 69cd9deb51..bbbccefc3d 100644 --- a/docs/messaging/README.md +++ b/docs/messaging/README.md @@ -23,4 +23,4 @@ Technology specific semantic conventions are defined for the following messaging * [RocketMQ](rocketmq.md): Semantic Conventions for *Apache RocketMQ*. * [Google Cloud Pub/Sub](gcp-pubsub.md): Semantic Conventions for *Google Cloud Pub/Sub*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/messaging/azure-messaging.md b/docs/messaging/azure-messaging.md index 6bcfc5183f..5a4dcd11fd 100644 --- a/docs/messaging/azure-messaging.md +++ b/docs/messaging/azure-messaging.md @@ -204,4 +204,4 @@ the broker doesn't have such notion, the destination name SHOULD uniquely identi -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/messaging/gcp-pubsub.md b/docs/messaging/gcp-pubsub.md index 9262b04972..a4987234db 100644 --- a/docs/messaging/gcp-pubsub.md +++ b/docs/messaging/gcp-pubsub.md @@ -210,4 +210,4 @@ flowchart TD; | `messaging.gcp_pubsub.message.delivery_attempt` | | | | `0` | | | `messaging.gcp_pubsub.message.ack_deadline` | | | | | `0` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/messaging/kafka.md b/docs/messaging/kafka.md index 4ae6b9a6d5..d7bdf3953a 100644 --- a/docs/messaging/kafka.md +++ b/docs/messaging/kafka.md @@ -165,4 +165,4 @@ Process CB: | Span Rcv2 | | `messaging.kafka.destination.partition` | `"1"` | `"1"` | `"1"` | `"3"` | `"3"` | | `messaging.kafka.message.offset` | `"12"` | `"12"` | `"12"` | `"32"` | `"32"` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/messaging/messaging-metrics.md b/docs/messaging/messaging-metrics.md index 8e67d5f3c8..b05040e58f 100644 --- a/docs/messaging/messaging-metrics.md +++ b/docs/messaging/messaging-metrics.md @@ -264,7 +264,7 @@ _Note: The need to report `messaging.process.messages` depends on the messaging -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.21.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRequired]: /docs/general/metric-requirement-level.md#required [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended [MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in diff --git a/docs/messaging/messaging-spans.md b/docs/messaging/messaging-spans.md index 9eed8ed98b..3674230b90 100644 --- a/docs/messaging/messaging-spans.md +++ b/docs/messaging/messaging-spans.md @@ -605,4 +605,4 @@ More specific Semantic Conventions are defined for the following messaging techn * [RabbitMQ](rabbitmq.md): Semantic Conventions for *RabbitMQ*. * [RocketMQ](rocketmq.md): Semantic Conventions for *Apache RocketMQ*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/messaging/rabbitmq.md b/docs/messaging/rabbitmq.md index 17c77d7e24..11c4a761ae 100644 --- a/docs/messaging/rabbitmq.md +++ b/docs/messaging/rabbitmq.md @@ -104,4 +104,4 @@ body size should be used. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/messaging/rocketmq.md b/docs/messaging/rocketmq.md index 366beb39e1..337ffc17ea 100644 --- a/docs/messaging/rocketmq.md +++ b/docs/messaging/rocketmq.md @@ -135,4 +135,4 @@ body size should be used. `messaging.client.id` SHOULD be set to the client ID that is automatically generated by the Apache RocketMQ SDK. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/mobile/README.md b/docs/mobile/README.md index cc6ffb6285..1240c2a6f7 100644 --- a/docs/mobile/README.md +++ b/docs/mobile/README.md @@ -15,4 +15,4 @@ Semantic conventions for the mobile platform are defined for the following signa * [Mobile Events](events.md) : Semantic Conventions for mobile events in *logs*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/mobile/events.md b/docs/mobile/events.md index eabc478da5..32b8a9313f 100644 --- a/docs/mobile/events.md +++ b/docs/mobile/events.md @@ -78,4 +78,4 @@ The event name MUST be `device.app.lifecycle`. | `terminate` | The app is about to terminate. Associated with UIKit notification `applicationWillTerminate`. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/object-stores/README.md b/docs/object-stores/README.md index a512dc5d54..17540af963 100644 --- a/docs/object-stores/README.md +++ b/docs/object-stores/README.md @@ -15,4 +15,4 @@ The following technology specific semantic conventions are defined for object st * [AWS S3](s3.md): Semantic Conventions for *AWS S3*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/object-stores/s3.md b/docs/object-stores/s3.md index 7ec191c83d..c00b72ea89 100644 --- a/docs/object-stores/s3.md +++ b/docs/object-stores/s3.md @@ -100,4 +100,4 @@ This applies in particular to the following operations: -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/README.md b/docs/resource/README.md index cc1700afea..93074d369e 100644 --- a/docs/resource/README.md +++ b/docs/resource/README.md @@ -314,4 +314,4 @@ Valid cloud providers are: - [Tencent Cloud](https://www.tencentcloud.com/) (`tencent_cloud`) - [Heroku dyno](./cloud-provider/heroku.md) -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/android.md b/docs/resource/android.md index ef3a7e9464..0f19b35bbd 100644 --- a/docs/resource/android.md +++ b/docs/resource/android.md @@ -23,4 +23,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/browser.md b/docs/resource/browser.md index 459d4960d9..8425615f67 100644 --- a/docs/resource/browser.md +++ b/docs/resource/browser.md @@ -42,4 +42,4 @@ The list of possible values is defined in the [W3C User-Agent Client Hints speci -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud-provider/README.md b/docs/resource/cloud-provider/README.md index 92ffceea57..027d031fbb 100644 --- a/docs/resource/cloud-provider/README.md +++ b/docs/resource/cloud-provider/README.md @@ -15,4 +15,4 @@ This document defines semantic conventions for resource cloud providers. * [GCP](gcp/README.md): Semantic Conventions for Google Cloud Platform. * [Heroku](heroku.md): Semantic Conventions for Heroku. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud-provider/aws/README.md b/docs/resource/cloud-provider/aws/README.md index b6c2a5aa5a..c5658e9626 100644 --- a/docs/resource/cloud-provider/aws/README.md +++ b/docs/resource/cloud-provider/aws/README.md @@ -28,4 +28,4 @@ Attributes that relate to an individual AWS service: - [Elastic Container Service (ECS)](./ecs.md) - [Elastic Kubernetes Service (EKS)](./eks.md) -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud-provider/aws/ecs.md b/docs/resource/cloud-provider/aws/ecs.md index 6d57c92fa7..d0d7add6b1 100644 --- a/docs/resource/cloud-provider/aws/ecs.md +++ b/docs/resource/cloud-provider/aws/ecs.md @@ -37,4 +37,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud-provider/aws/eks.md b/docs/resource/cloud-provider/aws/eks.md index 2b50ff91fe..5a06d5dc79 100644 --- a/docs/resource/cloud-provider/aws/eks.md +++ b/docs/resource/cloud-provider/aws/eks.md @@ -23,4 +23,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud-provider/aws/logs.md b/docs/resource/cloud-provider/aws/logs.md index 27850a51eb..4bb6fdfbaa 100644 --- a/docs/resource/cloud-provider/aws/logs.md +++ b/docs/resource/cloud-provider/aws/logs.md @@ -34,4 +34,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud-provider/gcp/README.md b/docs/resource/cloud-provider/gcp/README.md index 2df27e28cf..14ce9df8fe 100644 --- a/docs/resource/cloud-provider/gcp/README.md +++ b/docs/resource/cloud-provider/gcp/README.md @@ -19,4 +19,4 @@ provider (like account ID, operating system, etc), it belongs in the parent - [Cloud Run](./cloud-run.md) - [Compute Engine](./gce.md) -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud-provider/gcp/cloud-run.md b/docs/resource/cloud-provider/gcp/cloud-run.md index 9589a3c7cf..b841feef20 100644 --- a/docs/resource/cloud-provider/gcp/cloud-run.md +++ b/docs/resource/cloud-provider/gcp/cloud-run.md @@ -26,4 +26,4 @@ These conventions are recommended for resources running on Cloud Run. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud-provider/heroku.md b/docs/resource/cloud-provider/heroku.md index 2e919b693b..4905dc06fb 100644 --- a/docs/resource/cloud-provider/heroku.md +++ b/docs/resource/cloud-provider/heroku.md @@ -40,4 +40,4 @@ Additionally, [the `cloud.provider` resource attribute MUST be set to `heroku`]( [Heroku dyno metadata]: https://devcenter.heroku.com/articles/dyno-metadata -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/cloud.md b/docs/resource/cloud.md index db4ecfb596..8575d47771 100644 --- a/docs/resource/cloud.md +++ b/docs/resource/cloud.md @@ -101,4 +101,4 @@ The following well-known definitions MUST be used if you set this attribute and -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/container.md b/docs/resource/container.md index 3b31958cd0..a22b872352 100644 --- a/docs/resource/container.md +++ b/docs/resource/container.md @@ -47,4 +47,4 @@ An example can be found in [Example Image Manifest](https://docs.docker.com/regi -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/deployment-environment.md b/docs/resource/deployment-environment.md index 834de7e586..091ad8dba5 100644 --- a/docs/resource/deployment-environment.md +++ b/docs/resource/deployment-environment.md @@ -33,4 +33,4 @@ considered to be identifying the same service: -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/device.md b/docs/resource/device.md index 442097bfb7..d77e1f3d76 100644 --- a/docs/resource/device.md +++ b/docs/resource/device.md @@ -36,4 +36,4 @@ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/faas.md b/docs/resource/faas.md index a08f19a1b7..e8fb00714d 100644 --- a/docs/resource/faas.md +++ b/docs/resource/faas.md @@ -93,4 +93,4 @@ There are cases where a FaaS resource attribute is better applied as a span attribute instead. See the [FaaS trace conventions](/docs/faas/faas-spans.md) for more. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/host.md b/docs/resource/host.md index 7d202fc426..c775713a9e 100644 --- a/docs/resource/host.md +++ b/docs/resource/host.md @@ -108,4 +108,4 @@ 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. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/k8s.md b/docs/resource/k8s.md index 458a79fdb5..61792dc54c 100644 --- a/docs/resource/k8s.md +++ b/docs/resource/k8s.md @@ -337,4 +337,4 @@ A CronJob creates Jobs on a repeating schedule. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/os.md b/docs/resource/os.md index 172c6171bc..59ebd6f077 100644 --- a/docs/resource/os.md +++ b/docs/resource/os.md @@ -46,4 +46,4 @@ In case of virtualized environments, this is the operating system as it is obser -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/process.md b/docs/resource/process.md index 3062e5a287..c2535b30d7 100644 --- a/docs/resource/process.md +++ b/docs/resource/process.md @@ -267,4 +267,4 @@ Examples for some Ruby runtimes | MRI | ruby | 2.7.1 | ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19] | | TruffleRuby | truffleruby | 2.6.2 | truffleruby (Shopify) 20.0.0-dev-92ed3059, like ruby 2.6.2, GraalVM CE Native [x86_64-darwin] | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/resource/webengine.md b/docs/resource/webengine.md index 6a92f9a837..e7585ad802 100644 --- a/docs/resource/webengine.md +++ b/docs/resource/webengine.md @@ -34,4 +34,4 @@ The situations where there are multiple candidates, it is up to instrumentation * Either Apache HTTP Server or `mod_wsgi` MAY be chosen as `webengine`, depending on the decision made by the instrumentation authors. * Django SHOULD NOT be set as an `webengine` as the required information is already available in instrumentation library and setting this into `webengine` would duplicate the information. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/rpc/README.md b/docs/rpc/README.md index 4f1a331635..14cd20bdd5 100644 --- a/docs/rpc/README.md +++ b/docs/rpc/README.md @@ -27,4 +27,4 @@ Specifications defined by maintainers of RPC systems: * [gRPC](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md): Semantic Conventions for *gRPC*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/rpc/connect-rpc.md b/docs/rpc/connect-rpc.md index 9189bed9a5..b2fbadf65e 100644 --- a/docs/rpc/connect-rpc.md +++ b/docs/rpc/connect-rpc.md @@ -69,4 +69,4 @@ Below is a table of attributes that SHOULD be included on client and server Conn If `rpc.connect_rpc.error_code` is set, [Span Status](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/trace/api.md#set-status) MUST be set to `Error` and left unset in all other cases. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/rpc/grpc.md b/docs/rpc/grpc.md index fbc880a76f..8121784130 100644 --- a/docs/rpc/grpc.md +++ b/docs/rpc/grpc.md @@ -92,4 +92,4 @@ and [Span Kind](https://github.com/open-telemetry/opentelemetry-specification/tr | DATA_LOSS | `Error` | `Error` | | UNAUTHENTICATED | unset | `Error` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/rpc/json-rpc.md b/docs/rpc/json-rpc.md index 2ed7f48fb4..18788fd715 100644 --- a/docs/rpc/json-rpc.md +++ b/docs/rpc/json-rpc.md @@ -39,4 +39,4 @@ described on this page. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/rpc/rpc-metrics.md b/docs/rpc/rpc-metrics.md index f1fc177d9e..f8c83543e2 100644 --- a/docs/rpc/rpc-metrics.md +++ b/docs/rpc/rpc-metrics.md @@ -438,5 +438,5 @@ Specifications defined by maintainers of RPC systems: * [gRPC](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md): Semantic Conventions for *gRPC*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/rpc/rpc-spans.md b/docs/rpc/rpc-spans.md index 1004107ec3..610d7c85d6 100644 --- a/docs/rpc/rpc-spans.md +++ b/docs/rpc/rpc-spans.md @@ -304,4 +304,4 @@ More specific Semantic Conventions are defined for the following RPC technologie * [gRPC](grpc.md): Semantic Conventions for *gRPC*. * [JSON-RPC](json-rpc.md): Semantic Conventions for *JSON-RPC*. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/runtime/README.md b/docs/runtime/README.md index 9762c5ba21..bcabd1d7b6 100644 --- a/docs/runtime/README.md +++ b/docs/runtime/README.md @@ -55,4 +55,4 @@ semantic conventions when instrumenting runtime environments. [`process.runtime`](/docs/resource/process.md#process-runtimes) resource attributes SHOULD be included on runtime metric events as appropriate. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/runtime/go-metrics.md b/docs/runtime/go-metrics.md index 3a4aa06521..f39ec75aa9 100644 --- a/docs/runtime/go-metrics.md +++ b/docs/runtime/go-metrics.md @@ -413,6 +413,6 @@ This metric is [recommended][MetricRecommended]. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended [RuntimeMetrics]: https://pkg.go.dev/runtime/metrics diff --git a/docs/runtime/jvm-metrics.md b/docs/runtime/jvm-metrics.md index dc3df607f6..33bfa93f4c 100644 --- a/docs/runtime/jvm-metrics.md +++ b/docs/runtime/jvm-metrics.md @@ -872,6 +872,6 @@ This metric is obtained from [`BufferPoolMXBean#getCount()`](https://docs.oracle -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/system/README.md b/docs/system/README.md index 67323409b7..dc6b643b5d 100644 --- a/docs/system/README.md +++ b/docs/system/README.md @@ -18,4 +18,4 @@ System semantic conventions are defined for the following metrics: * [Process](process-metrics.md): For standard process metrics. * [Runtime Environment](/docs/runtime/README.md#metrics): For runtime environment metrics. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/system/container-metrics.md b/docs/system/container-metrics.md index dc855cdbdd..5449a117d0 100644 --- a/docs/system/container-metrics.md +++ b/docs/system/container-metrics.md @@ -199,5 +199,5 @@ This metric is [opt-in][MetricOptIn]. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md -[MetricOptIn]: https://github.com/open-telemetry/semantic-conventions/blob/v1.26.0/docs/general/metric-requirement-level.md#opt-in +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status +[MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in diff --git a/docs/system/hardware-metrics.md b/docs/system/hardware-metrics.md index 6941da47c8..76e69590ee 100644 --- a/docs/system/hardware-metrics.md +++ b/docs/system/hardware-metrics.md @@ -399,4 +399,4 @@ Additional **Recommended** attributes: | ----------------- | ---------------------- | ---------- | | `sensor_location` | Location of the sensor | `PS0 V3_3` | -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/system/process-metrics.md b/docs/system/process-metrics.md index 37df51e31d..5b40717462 100644 --- a/docs/system/process-metrics.md +++ b/docs/system/process-metrics.md @@ -459,5 +459,5 @@ This metric is [recommended][MetricRecommended]. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md index de64378cb7..8ce23e31d5 100644 --- a/docs/system/system-metrics.md +++ b/docs/system/system-metrics.md @@ -1440,7 +1440,7 @@ An instrument for load average over 1 minute on Linux could be named `system.linux.cpu.load_1m`, reusing the `cpu` name proposed above and having an `{os}` prefix to split this metric across OSes. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended [MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in diff --git a/docs/url/README.md b/docs/url/README.md index 299ef1711b..55b1b9a839 100644 --- a/docs/url/README.md +++ b/docs/url/README.md @@ -15,4 +15,4 @@ URL semantic conventions are defined for the following: * [URL](url.md): For describing URL and its components. -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/docs/url/url.md b/docs/url/url.md index 260527a1e3..f4eb63a3c0 100644 --- a/docs/url/url.md +++ b/docs/url/url.md @@ -61,4 +61,4 @@ Instrumentations that are aware of specific sensitive query string parameters MU _Note: Applications and telemetry consumers should scrub sensitive information from URL attributes on collected telemetry. In systems unable to identify sensitive information, certain attribute values may be redacted entirely._ -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/document-status.md +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/model/registry/event.yaml b/model/registry/event.yaml index 9c3a5718b9..5c246bfdff 100644 --- a/model/registry/event.yaml +++ b/model/registry/event.yaml @@ -11,7 +11,7 @@ groups: brief: > Identifies the class / type of event. note: > - Event names are subject to the same rules as [attribute names](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.33.0/specification/common/attribute-naming.md). + Event names are subject to the same rules as [attribute names](/docs/general/attribute-naming.md). Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. From c80cd1fb36f21eae0321ea1e765d7ae9d036b6d6 Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Mon, 3 Jun 2024 21:24:58 +0100 Subject: [PATCH 19/22] Don't render deprecated enum members in semconv tables (#1110) --- .chloggen/1110.yaml | 7 +++++++ docs/system/system-metrics.md | 2 -- templates/registry/markdown/enum_macros.j2 | 5 +++-- 3 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 .chloggen/1110.yaml diff --git a/.chloggen/1110.yaml b/.chloggen/1110.yaml new file mode 100644 index 0000000000..c77c2f482d --- /dev/null +++ b/.chloggen/1110.yaml @@ -0,0 +1,7 @@ +change_type: enhancement + +component: other + +note: "Don't render deprecated enum members in semconv tables." + +issues: [1110] diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md index 8ce23e31d5..70a9c543af 100644 --- a/docs/system/system-metrics.md +++ b/docs/system/system-metrics.md @@ -333,7 +333,6 @@ available on the system, that is `system.memory.limit`. | `buffers` | buffers | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cached` | cached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `shared` | shared | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed, report shared memory usage with `metric.system.memory.shared` metric | | `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -459,7 +458,6 @@ This metric is [recommended][MetricRecommended]. | `buffers` | buffers | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cached` | cached | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `free` | free | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `shared` | shared | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed, report shared memory usage with `metric.system.memory.shared` metric | | `used` | used | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/templates/registry/markdown/enum_macros.j2 b/templates/registry/markdown/enum_macros.j2 index 84c213d0b0..b9e6c13bcf 100644 --- a/templates/registry/markdown/enum_macros.j2 +++ b/templates/registry/markdown/enum_macros.j2 @@ -1,10 +1,11 @@ {% import 'stability.j2' as stability %} +{% macro filter(member) %}{% if snippet_type is not defined or (member.deprecated is none or member.deprecated == "") %}{{ "True" }}{% else %}{{ "False" }}{% endif %}{% endmacro %} {% macro table(enum, notes) %} `{{enum.name}}` 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 | |---|---|---| -{% for espec in enum.type.members | sort(attribute='value') %}| `{{ espec.value }}` | {{ (espec.brief or espec.id) | trim }}{{ notes.add(espec.note) }} | {{ stability.badge(espec.stability, espec.deprecated) }} | -{% endfor %}{{ notes.render() }}{% endmacro %} +{% for espec in enum.type.members | sort(attribute='value') %}{% if filter(espec) == "True" %}| `{{ espec.value }}` | {{ (espec.brief or espec.id) | trim }}{{ notes.add(espec.note) }} | {{ stability.badge(espec.stability, espec.deprecated) }} | +{% endif %}{% endfor %}{{ notes.render() }}{% endmacro %} {% macro tables(enums, notes) %}{% for enum in enums | sort(attribute="name") %}{{ table(enum, notes) }} {% endfor %}{% endmacro %} From f974aeddac3fcde1ac483aab6f1ba931a41de70d Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Mon, 3 Jun 2024 22:22:04 +0100 Subject: [PATCH 20/22] [chore] Remove the workaround to drop inherited note (#1092) --- docs/database/cosmosdb.md | 38 ++++++++++++++++++-------------------- docs/database/couchdb.md | 24 +++++++++++------------- docs/database/mongodb.md | 24 +++++++++++------------- model/trace/database.yaml | 9 +++------ 4 files changed, 43 insertions(+), 52 deletions(-) diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index c604babe86..f4313b0bcd 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -32,46 +32,44 @@ Cosmos DB instrumentation includes call-level (public API) surface spans and net | [`db.cosmosdb.request_charge`](/docs/attributes-registry/db.md) | double | RU consumed for that operation | `46.18`; `1.0` | `Conditionally Required` when available | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.cosmosdb.status_code`](/docs/attributes-registry/db.md) | int | Cosmos DB status code. | `200`; `201` | `Conditionally Required` if response was received | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.cosmosdb.sub_status_code`](/docs/attributes-registry/db.md) | int | Cosmos DB sub status code. | `1000`; `1002` | `Conditionally Required` when response was received and contained sub-code. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.namespace`](/docs/attributes-registry/db.md) | string | The name of the database, fully qualified within the server address and port. [2] | `customers`; `test.users` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the operation or command being executed. [3] | `findAndModify`; `HMSET`; `SELECT` | `Conditionally Required` [4] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [5] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [6] | `80`; `8080`; `443` | `Conditionally Required` [7] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.namespace`](/docs/attributes-registry/db.md) | string | The name of the database, fully qualified within the server address and port. | `customers`; `test.users` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the operation or command being executed. [2] | `findAndModify`; `HMSET`; `SELECT` | `Conditionally Required` [3] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [4] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [5] | `80`; `8080`; `443` | `Conditionally Required` [6] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.cosmosdb.client_id`](/docs/attributes-registry/db.md) | string | Unique Cosmos client instance id. | `3ba4827d-4422-483f-b59f-85b74211c11d` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.cosmosdb.request_content_length`](/docs/attributes-registry/db.md) | int | Request payload size in bytes | | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. [8] | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [9] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [10] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`user_agent.original`](/docs/attributes-registry/user-agent.md) | string | Full user-agent string is generated by Cosmos DB SDK [11] | `cosmos-netstandard-sdk/3.23.0\|3.23.1\|1\|X64\|Linux 5.4.0-1098-azure 104 18\|.NET Core 3.1.32\|S\|` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [12] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.query.text`](/docs/attributes-registry/db.md) | string | The database query being executed. [7] | `SELECT * FROM wuser_table where username = ?`; `SET mykey "WuValue"` | `Recommended` [8] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [9] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`user_agent.original`](/docs/attributes-registry/user-agent.md) | string | Full user-agent string is generated by Cosmos DB SDK [10] | `cosmos-netstandard-sdk/3.23.0\|3.23.1\|1\|X64\|Linux 5.4.0-1098-azure 104 18\|.NET Core 3.1.32\|S\|` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.query.parameter.`](/docs/attributes-registry/db.md) | string | The query parameters used in `db.query.text`, with `` being the parameter name, and the attribute value being the parameter value. [11] | `someval`; `55` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. -**[2]:** - -**[3]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. +**[2]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the first operation name found in the query. For batch operations, if the individual operations are known to have the same operation name then that operation name SHOULD be used prepended by `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other database system specific term if more applicable. -**[4]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. +**[3]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. -**[5]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. +**[4]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. -**[6]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. +**[5]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. -**[7]:** If using a port other than the default port for this DBMS and if `server.address` is set. +**[6]:** If using a port other than the default port for this DBMS and if `server.address` is set. -**[8]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. +**[7]:** For batch operations, if the individual operations are known to have the same query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD be concatenated with separator `; ` or some other database system specific separator if more applicable. -**[9]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. +**[8]:** SHOULD be collected by default only if there is sanitization that excludes sensitive information. -**[10]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[9]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. -**[11]:** The user-agent value is generated by SDK which is a combination of
`sdk_version` : Current version of SDK. e.g. 'cosmos-netstandard-sdk/3.23.0'
`direct_pkg_version` : Direct package version used by Cosmos DB SDK. e.g. '3.23.1'
`number_of_client_instances` : Number of cosmos client instances created by the application. e.g. '1'
`type_of_machine_architecture` : Machine architecture. e.g. 'X64'
`operating_system` : Operating System. e.g. 'Linux 5.4.0-1098-azure 104 18'
`runtime_framework` : Runtime Framework. e.g. '.NET Core 3.1.32'
`failover_information` : Generated key to determine if region failover enabled. +**[10]:** The user-agent value is generated by SDK which is a combination of
`sdk_version` : Current version of SDK. e.g. 'cosmos-netstandard-sdk/3.23.0'
`direct_pkg_version` : Direct package version used by Cosmos DB SDK. e.g. '3.23.1'
`number_of_client_instances` : Number of cosmos client instances created by the application. e.g. '1'
`type_of_machine_architecture` : Machine architecture. e.g. 'X64'
`operating_system` : Operating System. e.g. 'Linux 5.4.0-1098-azure 104 18'
`runtime_framework` : Runtime Framework. e.g. '.NET Core 3.1.32'
`failover_information` : Generated key to determine if region failover enabled. Format Reg-{D (Disabled discovery)}-S(application region)|L(List of preferred regions)|N(None, user did not configure it). Default value is "NS". -**[12]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. +**[11]:** Query parameters should only be captured when `db.query.text` is parameterized with placeholders. If a parameter has no name and instead is referenced only by index, then `` SHOULD be the 0-based index. diff --git a/docs/database/couchdb.md b/docs/database/couchdb.md index aaba8f8346..3aa0ad625c 100644 --- a/docs/database/couchdb.md +++ b/docs/database/couchdb.md @@ -23,25 +23,23 @@ described on this page. | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`db.namespace`](/docs/attributes-registry/db.md) | string | The name of the database, fully qualified within the server address and port. [1] | `customers`; `test.users` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.operation.name`](/docs/attributes-registry/db.md) | string | The HTTP method + the target REST route. [2] | `GET /{db}/{docid}` | `Conditionally Required` [3] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [4] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [5] | `80`; `8080`; `443` | `Conditionally Required` [6] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [7] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.namespace`](/docs/attributes-registry/db.md) | string | The name of the database, fully qualified within the server address and port. | `customers`; `test.users` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.operation.name`](/docs/attributes-registry/db.md) | string | The HTTP method + the target REST route. [1] | `GET /{db}/{docid}` | `Conditionally Required` [2] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [3] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [4] | `80`; `8080`; `443` | `Conditionally Required` [5] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [6] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -**[1]:** +**[1]:** In **CouchDB**, `db.operation.name` should be set to the HTTP method + the target REST route according to the API reference documentation. For example, when retrieving a document, `db.operation.name` would be set to (literally, i.e., without replacing the placeholders with concrete values): [`GET /{db}/{docid}`](https://docs.couchdb.org/en/stable/api/document/common.html#get--db-docid). -**[2]:** In **CouchDB**, `db.operation.name` should be set to the HTTP method + the target REST route according to the API reference documentation. For example, when retrieving a document, `db.operation.name` would be set to (literally, i.e., without replacing the placeholders with concrete values): [`GET /{db}/{docid}`](https://docs.couchdb.org/en/stable/api/document/common.html#get--db-docid). +**[2]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. -**[3]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. +**[3]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. -**[4]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. +**[4]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. -**[5]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. +**[5]:** If using a port other than the default port for this DBMS and if `server.address` is set. -**[6]:** If using a port other than the default port for this DBMS and if `server.address` is set. - -**[7]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[6]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. diff --git a/docs/database/mongodb.md b/docs/database/mongodb.md index 7d29443406..50ff165787 100644 --- a/docs/database/mongodb.md +++ b/docs/database/mongodb.md @@ -24,29 +24,27 @@ described on this page. | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| | [`db.collection.name`](/docs/attributes-registry/db.md) | string | The MongoDB collection being accessed within the database stated in `db.namespace`. [1] | `public.users`; `customers` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.namespace`](/docs/attributes-registry/db.md) | string | The MongoDB database name. [2] | `customers`; `test.users` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the command being executed. [3] | `findAndModify`; `getMore`; `update` | `Conditionally Required` [4] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [5] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [6] | `80`; `8080`; `443` | `Conditionally Required` [7] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [8] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`db.namespace`](/docs/attributes-registry/db.md) | string | The MongoDB database name. | `customers`; `test.users` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`db.operation.name`](/docs/attributes-registry/db.md) | string | The name of the command being executed. [2] | `findAndModify`; `getMore`; `update` | `Conditionally Required` [3] | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [4] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [5] | `80`; `8080`; `443` | `Conditionally Required` [6] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`server.address`](/docs/attributes-registry/server.md) | string | Name of the database host. [7] | `example.com`; `10.1.2.80`; `/tmp/my.sock` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | **[1]:** It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix. For batch operations, if the individual operations are known to have the same collection name then that collection name SHOULD be used, otherwise `db.collection.name` SHOULD NOT be captured. -**[2]:** +**[2]:** See [MongoDB database commands](https://www.mongodb.com/docs/manual/reference/command/). -**[3]:** See [MongoDB database commands](https://www.mongodb.com/docs/manual/reference/command/). +**[3]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. -**[4]:** If readily available. The operation name MAY be parsed from the query text, in which case it SHOULD be the first operation name found in the query. +**[4]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. -**[5]:** The `error.type` SHOULD match the error code returned by the database or the client library, the canonical name of exception that occurred, or another low-cardinality error identifier. Instrumentations SHOULD document the list of errors they report. +**[5]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. -**[6]:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. +**[6]:** If using a port other than the default port for this DBMS and if `server.address` is set. -**[7]:** If using a port other than the default port for this DBMS and if `server.address` is set. - -**[8]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. +**[7]:** When observed from the client side, and when communicating through an intermediary, `server.address` SHOULD represent the server address behind any intermediaries, for example proxies, if it's available. diff --git a/model/trace/database.yaml b/model/trace/database.yaml index ece87e3dbf..5194bb6643 100644 --- a/model/trace/database.yaml +++ b/model/trace/database.yaml @@ -155,8 +155,7 @@ groups: - ref: db.namespace requirement_level: conditionally_required: If available. - note: > - + note: "" # overriding the base note - id: db.redis type: span @@ -215,8 +214,7 @@ groups: brief: The MongoDB database name. requirement_level: conditionally_required: If available. - note: > - + note: "" # overriding the base note - id: db.elasticsearch type: span @@ -338,5 +336,4 @@ groups: - ref: db.namespace requirement_level: conditionally_required: If available. - note: > - + note: "" # overriding the base note From ec6366d25913eb2ab1a5b3f0b1f36e8feb0f75fc Mon Sep 17 00:00:00 2001 From: Povilas Versockas Date: Tue, 4 Jun 2024 17:01:03 +0300 Subject: [PATCH 21/22] remove k8s.container.status.current_waiting_reason resource attribute (#1115) Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> --- .chloggen/k8s-waiting-status.yaml | 22 ---------------------- docs/attributes-registry/k8s.md | 1 - docs/resource/k8s.md | 1 - model/registry/k8s.yaml | 6 ------ model/resource/k8s.yaml | 1 - 5 files changed, 31 deletions(-) delete mode 100755 .chloggen/k8s-waiting-status.yaml diff --git a/.chloggen/k8s-waiting-status.yaml b/.chloggen/k8s-waiting-status.yaml deleted file mode 100755 index 850b089300..0000000000 --- a/.chloggen/k8s-waiting-status.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# 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: "k8s" - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "add k8s.container.status.current_waiting_reason resource attribute" - -# 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: [996] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: diff --git a/docs/attributes-registry/k8s.md b/docs/attributes-registry/k8s.md index 2bc73fa8ea..b9bc225333 100644 --- a/docs/attributes-registry/k8s.md +++ b/docs/attributes-registry/k8s.md @@ -19,7 +19,6 @@ Kubernetes resource attributes. | `k8s.cluster.uid` | string | A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.container.name` | 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` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.container.restart_count` | 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. | | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `k8s.container.status.current_waiting_reason` | string | Current waiting reason of the Container. | `CrashLoopBackOff` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.container.status.last_terminated_reason` | string | Last terminated reason of the Container. | `Evicted`; `Error` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.cronjob.name` | string | The name of the CronJob. | `opentelemetry` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `k8s.cronjob.uid` | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/resource/k8s.md b/docs/resource/k8s.md index 61792dc54c..dbff0c9cbf 100644 --- a/docs/resource/k8s.md +++ b/docs/resource/k8s.md @@ -167,7 +167,6 @@ to a running container. |---|---|---|---|---|---| | [`k8s.container.name`](/docs/attributes-registry/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` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`k8s.container.restart_count`](/docs/attributes-registry/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` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`k8s.container.status.current_waiting_reason`](/docs/attributes-registry/k8s.md) | string | Current waiting reason of the Container. | `CrashLoopBackOff` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`k8s.container.status.last_terminated_reason`](/docs/attributes-registry/k8s.md) | string | Last terminated reason of the Container. | `Evicted`; `Error` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/k8s.yaml b/model/registry/k8s.yaml index e38a1dadff..8b7de837f2 100644 --- a/model/registry/k8s.yaml +++ b/model/registry/k8s.yaml @@ -104,12 +104,6 @@ groups: brief: > Last terminated reason of the Container. examples: ["Evicted", "Error"] - - id: container.status.current_waiting_reason - type: string - stability: experimental - brief: > - Current waiting reason of the Container. - examples: ["CrashLoopBackOff"] - id: replicaset.uid type: string diff --git a/model/resource/k8s.yaml b/model/resource/k8s.yaml index 8a874b152a..d94425e007 100644 --- a/model/resource/k8s.yaml +++ b/model/resource/k8s.yaml @@ -46,7 +46,6 @@ groups: - ref: k8s.container.name - ref: k8s.container.restart_count - ref: k8s.container.status.last_terminated_reason - - ref: k8s.container.status.current_waiting_reason - id: k8s.replicaset prefix: k8s.replicaset From a2c9cff852cd63cd9b4e04fab651b147e3cccea1 Mon Sep 17 00:00:00 2001 From: Tao Chen Date: Tue, 4 Jun 2024 09:14:17 -0700 Subject: [PATCH 22/22] Extend GenAI system well-known values (#1020) --- .chloggen/extend-gen-ai-system-values.yaml | 22 ++++++++++++++++++++++ docs/attributes-registry/gen-ai.md | 9 ++++++--- docs/gen-ai/gen-ai-metrics.md | 6 ++++++ docs/gen-ai/llm-spans.md | 3 +++ model/registry/gen-ai.yaml | 12 ++++++++++++ 5 files changed, 49 insertions(+), 3 deletions(-) create mode 100755 .chloggen/extend-gen-ai-system-values.yaml diff --git a/.chloggen/extend-gen-ai-system-values.yaml b/.chloggen/extend-gen-ai-system-values.yaml new file mode 100755 index 0000000000..619668e7d2 --- /dev/null +++ b/.chloggen/extend-gen-ai-system-values.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: gen-ai + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add 3 well-known gen-ai systems as reference values of the gen-ai system attribute + +# 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: [ 1020 ] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/attributes-registry/gen-ai.md b/docs/attributes-registry/gen-ai.md index 0bde9ff5fd..b15537a1fa 100644 --- a/docs/attributes-registry/gen-ai.md +++ b/docs/attributes-registry/gen-ai.md @@ -35,9 +35,12 @@ This document defines the attributes used to describe telemetry in the context o `gen_ai.system` 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 | -| -------- | ----------- | ---------------------------------------------------------------- | -| `openai` | OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Value | Description | Stability | +| ----------- | ----------- | ---------------------------------------------------------------- | +| `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `openai` | OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vertex_ai` | Vertex AI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `gen_ai.token.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. diff --git a/docs/gen-ai/gen-ai-metrics.md b/docs/gen-ai/gen-ai-metrics.md index 0a1278025c..1d473dc924 100644 --- a/docs/gen-ai/gen-ai-metrics.md +++ b/docs/gen-ai/gen-ai-metrics.md @@ -87,7 +87,10 @@ This metric SHOULD be specified with [ExplicitBucketBoundaries] of [1, 4, 16, 64 | Value | Description | Stability | |---|---|---| +| `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `openai` | OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vertex_ai` | Vertex AI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `gen_ai.token.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. @@ -167,7 +170,10 @@ Instrumentations SHOULD document the list of errors they report. | Value | Description | Stability | |---|---|---| +| `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `openai` | OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vertex_ai` | Vertex AI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/gen-ai/llm-spans.md b/docs/gen-ai/llm-spans.md index 6e815e9153..ad0c4c988e 100644 --- a/docs/gen-ai/llm-spans.md +++ b/docs/gen-ai/llm-spans.md @@ -68,7 +68,10 @@ These attributes track input data and metadata for a request to an LLM. Each att | Value | Description | Stability | |---|---|---| +| `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `openai` | OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vertex_ai` | Vertex AI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/gen-ai.yaml b/model/registry/gen-ai.yaml index 47ec27bf60..9e0f3cac12 100644 --- a/model/registry/gen-ai.yaml +++ b/model/registry/gen-ai.yaml @@ -14,6 +14,18 @@ groups: stability: experimental value: "openai" brief: 'OpenAI' + - id: vertex_ai + stability: experimental + value: "vertex_ai" + brief: 'Vertex AI' + - id: anthropic + stability: experimental + value: "anthropic" + brief: 'Anthropic' + - id: cohere + stability: experimental + value: "cohere" + brief: 'Cohere' brief: The Generative AI product as identified by the client instrumentation. note: > The actual GenAI product may differ from the one identified by the client.