diff --git a/CHANGELOG.md b/CHANGELOG.md index c8c86d20c6b..50e39aee770 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,9 @@ release. - Extract Examplar section and mark it as Experimental. ([#3533](https://github.com/open-telemetry/opentelemetry-specification/pull/3533)) +- BREAKING: Remove the Jaeger Exporter + ([#3567](https://github.com/open-telemetry/opentelemetry-specification/pull/3567)) + ### Telemetry Schemas ### Common diff --git a/spec-compliance-matrix.md b/spec-compliance-matrix.md index bab5fb3e72d..1a0a55303c8 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, Zipkin, and Jaeger), implementing at least one of the supported +exporter (OTLP and Zipkin), implementing at least one of the supported formats is required. Implementing more than one format is optional. ## Traces @@ -280,7 +280,6 @@ Note: Support for environment variables is optional. | OTEL_BSP_* | + | + | + | + | + | + | + | + | - | - | - | | OTEL_BLRP_* | | + | | | | | | | | | | | OTEL_EXPORTER_OTLP_* | + | + | | + | + | + | + | + | + | + | - | -| OTEL_EXPORTER_JAEGER_* | + | + | | + | + | - | - | | - | + | - | | OTEL_EXPORTER_ZIPKIN_* | - | + | | + | + | - | + | - | - | + | - | | OTEL_TRACES_EXPORTER | - | + | + | + | + | + | + | - | - | - | | | OTEL_METRICS_EXPORTER | - | + | | + | - | - | + | - | - | - | - | @@ -340,17 +339,6 @@ Note: Support for environment variables is optional. | Error Status mapping | | + | + | | + | + | - | + | + | + | + | - | | 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] | X | + | | | + | + | - | - | + | + | + | + | -| [Jaeger Protobuf via gRPC][jaegerProtobuf] | X | - | + | | + | - | - | - | | - | - | - | -| [Jaeger Thrift over HTTP][jaegerThriftHTTP] | X | + | - | | + | + | - | - | + | + | + | - | -| Service name mapping | | + | + | | + | + | - | - | | + | + | + | -| Resource to Process mapping | | + | + | | + | + | - | - | + | - | + | - | -| InstrumentationLibrary mapping | | + | + | | + | + | - | - | + | - | + | - | -| InstrumentationScope mapping | | | + | | + | | | | | | | | -| Status mapping | | + | + | | + | + | - | - | + | + | + | + | -| Error Status mapping | | + | + | | + | + | - | - | + | + | + | - | -| Events converted to Logs | | + | + | | + | + | - | - | + | - | + | + | | **OpenCensus** | | | | | | | | | | | | | | TBD | | | | | | | | | | | | | | **Prometheus** | | | | | | | | | | | | | @@ -377,6 +365,3 @@ Languages not covered by the OpenTracing project do not need to be listed here, [py1174]: https://github.com/open-telemetry/opentelemetry-python/issues/1174 [py1779]: https://github.com/open-telemetry/opentelemetry-python/issues/1779 [php225]: https://github.com/open-telemetry/opentelemetry-php/issues/225 -[jaegerThriftUDP]: https://www.jaegertracing.io/docs/latest/apis/#thrift-over-udp-stable -[jaegerProtobuf]: https://www.jaegertracing.io/docs/latest/apis/#protobuf-via-grpc-stable -[jaegerThriftHTTP]: https://www.jaegertracing.io/docs/latest/apis/#thrift-over-http-stable diff --git a/specification/configuration/sdk-environment-variables.md b/specification/configuration/sdk-environment-variables.md index 6c341deecef..7b81a788e23 100644 --- a/specification/configuration/sdk-environment-variables.md +++ b/specification/configuration/sdk-environment-variables.md @@ -178,70 +178,6 @@ See the SDK [LogRecord Limits](../logs/sdk.md#logrecord-limits) section for the See [OpenTelemetry Protocol Exporter Configuration Options](../protocol/exporter.md). -## Jaeger Exporter - -**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. -The value MUST be one of: - -- `http/thrift.binary` - [Thrift over HTTP][jaeger_http] -- `grpc` - [gRPC][jaeger_grpc] -- `udp/thrift.compact` - [Thrift with compact encoding over UDP][jaeger_udp] -- `udp/thrift.binary` - [Thrift with binary encoding over UDP][jaeger_udp] - -[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 -(e.g. for backward compatibility reasons). - -Environment variables specific for the `http/thrift.binary` transport protocol: - -| Name | Description | Default | -|-------------------------------|------------------------------------------------------------------------------------|-------------------------------------| -| OTEL_EXPORTER_JAEGER_ENDPOINT | Full URL of the [Jaeger HTTP endpoint][jaeger_collector] | `http://localhost:14268/api/traces` | -| OTEL_EXPORTER_JAEGER_TIMEOUT | Maximum time (in milliseconds) the Jaeger exporter will wait for each batch export | 10000 | -| OTEL_EXPORTER_JAEGER_USER | Username to be used for HTTP basic authentication | | -| OTEL_EXPORTER_JAEGER_PASSWORD | Password to be used for HTTP basic authentication | | - -Environment variables specific for the `grpc` transport protocol: - -| Name | Description | Default | -|-------------------------------|------------------------------------------------------------------------------------|--------------------------| -| OTEL_EXPORTER_JAEGER_ENDPOINT | URL of the [Jaeger gRPC endpoint][jaeger_collector] | `http://localhost:14250` | -| OTEL_EXPORTER_JAEGER_TIMEOUT | Maximum time (in milliseconds) the Jaeger exporter will wait for each batch export | 10000 | -| OTEL_EXPORTER_JAEGER_USER | Username to be used for HTTP basic authentication | | -| OTEL_EXPORTER_JAEGER_PASSWORD | Password to be used for HTTP basic authentication | | - -Environment variables specific for the `udp/thrift.compact` transport protocol: - -| Name | Description | Default | -|---------------------------------|---------------------------------------------------------------|-------------| -| OTEL_EXPORTER_JAEGER_AGENT_HOST | Hostname of the [Jaeger agent][jaeger_agent] | `localhost` | -| OTEL_EXPORTER_JAEGER_AGENT_PORT | `udp/thrift.compact` port of the [Jaeger agent][jaeger_agent] | `6831` | - -Environment variables specific for the `udp/thrift.binary` transport protocol: - -| Name | Description | Default | -|---------------------------------|--------------------------------------------------------------|-------------| -| OTEL_EXPORTER_JAEGER_AGENT_HOST | Hostname of the [Jaeger agent][jaeger_agent] | `localhost` | -| OTEL_EXPORTER_JAEGER_AGENT_PORT | `udp/thrift.binary` port of the [Jaeger agent][jaeger_agent] | `6832` | - -[jaeger_collector]: https://www.jaegertracing.io/docs/latest/deployment/#collector -[jaeger_agent]: https://www.jaegertracing.io/docs/latest/deployment/#agent - ## Zipkin Exporter **Status**: [Stable](../document-status.md) @@ -286,7 +222,6 @@ The SDK MAY accept a comma-separated list to enable setting multiple exporters. Known values for `OTEL_TRACES_EXPORTER` are: - `"otlp"`: [OTLP](../protocol/otlp.md) -- `"jaeger"`: export in Jaeger data model - `"zipkin"`: [Zipkin](https://zipkin.io/zipkin-api/) (Defaults to [protobuf](https://github.com/openzipkin/zipkin-api/blob/master/zipkin.proto) format) - `"none"`: No automatically configured exporter for traces. diff --git a/specification/library-guidelines.md b/specification/library-guidelines.md index dd837c08d91..a18e5429b78 100644 --- a/specification/library-guidelines.md +++ b/specification/library-guidelines.md @@ -28,7 +28,6 @@ _Note to OpenTelemetry client Authors:_ OpenTelemetry specification, API and SDK - metrics - Prometheus. - trace - - Jaeger. - Zipkin. Note: some of these support multiple protocols (e.g. gRPC, Thrift, etc). The exact list of protocols to implement in the exporters is TBD. @@ -93,8 +92,8 @@ name of the library should be prefixed with the terms "OpenTelemetry" and "Expor For example: -- Python and Java: opentelemetry-exporter-jaeger -- Javascript: @opentelemetry/exporter-jeager +- Python and Java: opentelemetry-exporter-{vendor_name} +- Javascript: @opentelemetry/exporter-{vendor_name} #### Resource Detection diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md index fc4f4711c5c..6ff329d9329 100644 --- a/specification/trace/sdk.md +++ b/specification/trace/sdk.md @@ -482,12 +482,12 @@ The following diagram shows `SpanProcessor`'s relationship to other components in the SDK: ``` - +-----+--------------+ +-------------------------+ +-------------------+ - | | | | | | | - | | | | Batching Span Processor | | SpanExporter | - | | +---> Simple Span Processor +---> (JaegerExporter) | - | | | | | | | - | SDK | Span.start() | +-------------------------+ +-------------------+ + +-----+--------------+ +-------------------------+ +----------------+ + | | | | | | | + | | | | Batching Span Processor | | SpanExporter | + | | +---> Simple Span Processor +---> (OTLPExporter) | + | | | | | | | + | SDK | Span.start() | +-------------------------+ +----------------+ | | Span.end() | | | | | | |