From 837415d19793dcd6149ca4c7e42ddcd3b0609807 Mon Sep 17 00:00:00 2001 From: jason plumb <75337021+breedx-splk@users.noreply.github.com> Date: Tue, 20 Dec 2022 10:36:02 -0800 Subject: [PATCH] Deprecate jaeger exporters. (#2858) --- CHANGELOG.md | 3 +++ spec-compliance-matrix.md | 6 +++--- specification/sdk-environment-variables.md | 10 +++++++++- specification/trace/sdk_exporters/jaeger.md | 7 ++++--- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddb541ea19c..75951048578 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ release. ### Traces +- Deprecate jaeger exporter, scheduled for spec removal in July 2023. + [#2858](https://github.com/open-telemetry/opentelemetry-specification/pull/2858) + ### Metrics ### Logs diff --git a/spec-compliance-matrix.md b/spec-compliance-matrix.md index a66f1c85603..81a8645a31e 100644 --- a/spec-compliance-matrix.md +++ b/spec-compliance-matrix.md @@ -334,9 +334,9 @@ Note: Support for environment variables is optional. | Event attributes mapping to Annotations | | + | + | + | + | + | + | + | + | + | + | + | | Integer microseconds in timestamps | | N/A| + | | + | + | - | + | + | + | + | + | | **[Jaeger](specification/trace/sdk_exporters/jaeger.md)** | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | -| [Jaeger Thrift over UDP][jaegerThriftUDP] | * | + | | | + | + | - | - | + | + | + | + | -| [Jaeger Protobuf via gRPC][jaegerProtobuf] | * | - | + | | + | - | - | - | | - | - | - | -| [Jaeger Thrift over HTTP][jaegerThriftHTTP] | * | + | - | | + | + | - | - | + | + | + | - | +| [Jaeger Thrift over UDP][jaegerThriftUDP] | X | + | | | + | + | - | - | + | + | + | + | +| [Jaeger Protobuf via gRPC][jaegerProtobuf] | X | - | + | | + | - | - | - | | - | - | - | +| [Jaeger Thrift over HTTP][jaegerThriftHTTP] | X | + | - | | + | + | - | - | + | + | + | - | | Service name mapping | | + | + | | + | + | - | - | | + | + | + | | Resource to Process mapping | | + | + | | + | + | - | - | + | - | + | - | | InstrumentationLibrary mapping | | + | + | | + | + | - | - | + | - | + | - | diff --git a/specification/sdk-environment-variables.md b/specification/sdk-environment-variables.md index 76cb3bbd780..a3d04652164 100644 --- a/specification/sdk-environment-variables.md +++ b/specification/sdk-environment-variables.md @@ -163,7 +163,14 @@ See [OpenTelemetry Protocol Exporter Configuration Options](./protocol/exporter. ## Jaeger Exporter -**Status**: [Stable](document-status.md) +**Status**: [Deprecated](document-status.md) + +Jaeger exporter support will be removed from OpenTelemetry in July 2023. + +_Note: Jaeger supports the [OpenTelemetry protocol natively][jaeger_otlp] and most users +should export to Jaeger using OTLP. These environment variables remain here +only for backwards compatibility and will be removed in a future version. SDKs MAY include +Jaeger exporters, but Jaeger export is not required._ The `OTEL_EXPORTER_JAEGER_PROTOCOL` environment variable MAY by used to specify the transport protocol. @@ -177,6 +184,7 @@ The value MUST be one of: [jaeger_http]: https://www.jaegertracing.io/docs/latest/apis/#thrift-over-http-stable [jaeger_grpc]: https://www.jaegertracing.io/docs/latest/apis/#protobuf-via-grpc-stable [jaeger_udp]: https://www.jaegertracing.io/docs/latest/apis/#thrift-over-udp-stable +[jaeger_otlp]: https://www.jaegertracing.io/docs/latest/apis/#opentelemetry-protocol-stable The default transport protocol SHOULD be `http/thrift.binary` unless SDKs have good reasons to choose other as the default diff --git a/specification/trace/sdk_exporters/jaeger.md b/specification/trace/sdk_exporters/jaeger.md index 629adbb011e..bb8b225c657 100644 --- a/specification/trace/sdk_exporters/jaeger.md +++ b/specification/trace/sdk_exporters/jaeger.md @@ -7,10 +7,11 @@ The generic transformation [rules specified here](../../common/mapping-to-non-ot particular generic transformation rule and the rule in this document contradict then the rule in this document MUST be used. -Jaeger accepts spans in two formats: +Jaeger accepts spans in the following formats: -* Thrift `Batch`, defined in [jaeger-idl/.../jaeger.thrift](https://github.com/jaegertracing/jaeger-idl/blob/master/thrift/jaeger.thrift), accepted via UDP or HTTP -* Protobuf `Batch`, defined in [jaeger-idl/.../model.proto](https://github.com/jaegertracing/jaeger-idl/blob/master/proto/api_v2/model.proto), accepted via gRPC +* OpenTelemetry Protocol (OTLP), defined in [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-proto) +* Thrift `Batch`, defined in [jaeger-idl/.../jaeger.thrift](https://github.com/jaegertracing/jaeger-idl/blob/main/thrift/jaeger.thrift), accepted via UDP or HTTP +* Protobuf `Batch`, defined in [jaeger-idl/.../model.proto](https://github.com/jaegertracing/jaeger-idl/blob/main/proto/api_v2/model.proto), accepted via gRPC See also: