diff --git a/CHANGELOG.md b/CHANGELOG.md index 71ec5ceaeb6..893218373ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,8 @@ release. ### Common +- OTLP Exporters may allow devs to prepend a product identifier in `User-Agent` header. + ([#4560](https://github.com/open-telemetry/opentelemetry-specification/pull/4560)) - ⚠️ **IMPORTANT**: Extending the set of standard attribute value types is no longer a breaking change. ([#4614](https://github.com/open-telemetry/opentelemetry-specification/pull/4614)) diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index b727289c781..4025d180477 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -210,6 +210,12 @@ OTel-OTLP-Exporter-Python/1.2.3 The format of the header SHOULD follow [RFC 7231][rfc-7231]. The conventions used for specifying the OpenTelemetry SDK language and version are available in the [Resource semantic conventions][resource-semconv]. +Exporters MAY expose a configuration option to add a product identifier to the User-Agent header. The resulting User-Agent SHOULD include the exporter's default User-Agent string. The intention is to support an identifier for an OpenTelemetry SDK/Agent [distribution][opentelemetry-distribution]. Typically an exporter would *prepend* the given identifier to its own. For example: + +``` +MyDistribution/x.y.z OTel-OTLP-Exporter-Python/1.2.3 +``` + [Boolean]: ../configuration/sdk-environment-variables.md#boolean [Timeout]: ../configuration/sdk-environment-variables.md#timeout [String]: ../configuration/sdk-environment-variables.md#string @@ -223,3 +229,4 @@ The format of the header SHOULD follow [RFC 7231][rfc-7231]. The conventions use [otlp-http]: https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#otlphttp [retryable-grpc-status-codes]: https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#failures [retryable-http-status-codes]: https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#failures-1 +[opentelemetry-distribution]: https://opentelemetry.io/docs/concepts/distributions/