diff --git a/CHANGELOG.md b/CHANGELOG.md index c7b67981c61..7f186ae5a23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ release. ### Traces +- Deprecate Zipkin exporter document and make exporter implementation optional. + ([#4715](https://github.com/open-telemetry/opentelemetry-specification/pull/4715/)) + ### Metrics ### Logs diff --git a/spec-compliance-matrix.md b/spec-compliance-matrix.md index 60e47a8c4c5..5c7431693bd 100644 --- a/spec-compliance-matrix.md +++ b/spec-compliance-matrix.md @@ -9,7 +9,7 @@ status of the feature is not known. For the `Optional` column, `X` means the feature is optional, blank means the feature is required, and columns marked with `*` mean that for each type of -exporter (OTLP and Zipkin), implementing at least one of the supported +exporter (e.g. OTLP), implementing at least one of the supported formats is required. Implementing more than one format is optional. ## Traces @@ -334,8 +334,8 @@ Disclaimer: Declarative configuration is currently in Development status - work | **[Zipkin](specification/trace/sdk_exporters/zipkin.md)** | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | | Zipkin V1 JSON | X | - | + | | + | - | - | - | - | - | - | - | | Zipkin V1 Thrift | X | - | + | | [-][py1174] | - | - | - | - | - | - | - | -| Zipkin V2 JSON | * | + | + | | + | + | - | + | + | + | + | + | -| Zipkin V2 Protobuf | * | - | + | | + | - | + | - | - | - | - | - | +| Zipkin V2 JSON | X | + | + | | + | + | - | + | + | + | + | + | +| Zipkin V2 Protobuf | X | - | + | | + | - | + | - | - | - | - | - | | Service name mapping | | + | + | + | + | + | + | + | + | + | + | + | | SpanKind mapping | | + | + | + | + | + | + | + | + | + | + | + | | InstrumentationLibrary mapping | | + | + | - | + | + | - | + | + | + | + | + | diff --git a/spec-compliance-matrix/template.yaml b/spec-compliance-matrix/template.yaml index d3eb46a334b..82078059256 100644 --- a/spec-compliance-matrix/template.yaml +++ b/spec-compliance-matrix/template.yaml @@ -375,9 +375,9 @@ sections: - name: Zipkin V1 Thrift optional: true - name: Zipkin V2 JSON - optional_one_of_group_is_required: true + optional: true - name: Zipkin V2 Protobuf - optional_one_of_group_is_required: true + optional: true - name: Service name mapping - name: SpanKind mapping - name: InstrumentationLibrary mapping diff --git a/specification/configuration/sdk-environment-variables.md b/specification/configuration/sdk-environment-variables.md index f271bc9ea29..aff527f5913 100644 --- a/specification/configuration/sdk-environment-variables.md +++ b/specification/configuration/sdk-environment-variables.md @@ -270,6 +270,8 @@ See [OpenTelemetry Protocol Exporter Configuration Options](../protocol/exporter ## Zipkin Exporter +**Status**: [Deprecated](../document-status.md) + | Name | Description | Default | Type | |-------------------------------|------------------------------------------------------------------------------------|--------------------------------------|-------------| | OTEL_EXPORTER_ZIPKIN_ENDPOINT | Endpoint for Zipkin traces | `http://localhost:9411/api/v2/spans` | [String][] | diff --git a/specification/trace/sdk_exporters/zipkin.md b/specification/trace/sdk_exporters/zipkin.md index 9a902619cc5..32b39d5da0b 100644 --- a/specification/trace/sdk_exporters/zipkin.md +++ b/specification/trace/sdk_exporters/zipkin.md @@ -4,7 +4,20 @@ linkTitle: Zipkin # OpenTelemetry to Zipkin Transformation -**Status**: [Stable](../../document-status.md) +**Status**: [Deprecated](../../document-status.md) + +Zipkin exporter support will be removed from OpenTelemetry specification in December +2026. + +> Note: This document remains here for backwards compatibility and +> will be removed in a future version. Existing stable Zipkin exporters MUST +> continue to be supported for at least one year after the artifact is deprecated, +> following the [SDK stability guarantees](/specification/versioning-and-stability.md#sdk-support). +> Implementing a Zipkin exporter is not required for new SDKs. +> +> Users may use [Zipkin exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/zipkinexporter) +> collector component or [zipkin-otel](https://github.com/openzipkin-contrib/zipkin-otel) +> Zipkin server module. This document defines the transformation between OpenTelemetry and Zipkin Spans. The generic transformation [rules specified here](../../common/mapping-to-non-otlp.md) also apply. If a @@ -69,7 +82,7 @@ not work properly. OpenTelemetry doesn't provide this consistency guarantee. Exporter may chose to override the value for service name based on a local root span to improve Zipkin user experience. -*Note*, the attribute `service.namespace` MUST NOT be used for the Zipkin +Note that the attribute `service.namespace` MUST NOT be used for the Zipkin service name and should be sent as a Zipkin tag. ### SpanKind