From 2b70599ca8eb1a0559463eac0e5589decebe0f64 Mon Sep 17 00:00:00 2001 From: Tigran Najaryan Date: Mon, 27 Sep 2021 11:57:17 -0400 Subject: [PATCH] Make OTLP/HTTP the recommended default transport Resolves https://github.com/open-telemetry/opentelemetry-specification/issues/1885 --- CHANGELOG.md | 2 ++ specification/protocol/exporter.md | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52f1a762b1f..0634d75ea10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,8 @@ release. ### OpenTelemetry Protocol +- Make OTLP/HTTP the recommended default transport ([#1969](https://github.com/open-telemetry/opentelemetry-specification/pull/1969)) + ### SDK Configuration ## v1.7.0 (2021-09-30) diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index c149bb8ba5f..317a846ba57 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -17,7 +17,7 @@ The following configuration options MUST be available to configure the OTLP expo | Headers | Key-value pairs to be used as headers associated with gRPC or HTTP requests. See [Specifying headers](./exporter.md#specifying-headers-via-environment-variables) for more details. | n/a | `OTEL_EXPORTER_OTLP_HEADERS` `OTEL_EXPORTER_OTLP_TRACES_HEADERS` `OTEL_EXPORTER_OTLP_METRICS_HEADERS` | | Compression | Compression key for supported compression types. Supported compression: `gzip`| No value [1] | `OTEL_EXPORTER_OTLP_COMPRESSION` `OTEL_EXPORTER_OTLP_TRACES_COMPRESSION` `OTEL_EXPORTER_OTLP_METRICS_COMPRESSION` | | Timeout | Maximum time the OTLP exporter will wait for each batch export. | 10s | `OTEL_EXPORTER_OTLP_TIMEOUT` `OTEL_EXPORTER_OTLP_TRACES_TIMEOUT` `OTEL_EXPORTER_OTLP_METRICS_TIMEOUT` | -| Protocol | The transport protocol. Options MAY include `grpc`, `http/protobuf`, and `http/json`. See [Specify Protocol](./exporter.md#specify-protocol) for more details. | n/a | `OTEL_EXPORTER_OTLP_PROTOCOL` `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | +| Protocol | The transport protocol. Options MAY include `grpc`, `http/protobuf`, and `http/json`. See [Specify Protocol](./exporter.md#specify-protocol) for more details. | `grpc` | `OTEL_EXPORTER_OTLP_PROTOCOL` `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | **[1]**: If no compression value is explicitly specified, SIGs can default to the value they deem most useful among the supported options. This is especially important in the presence of technical constraints, @@ -95,9 +95,13 @@ The `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`, and `OT - `http/protobuf` for protobuf-encoded data over HTTP connection - `http/json` for JSON-encoded data over HTTP connection -SDKs MUST support either `grpc` or `http/protobuf` and SHOULD support both. They also MAY support `http/json`. +SDKs SHOULD support both `grpc` and `http/protobuf` transports and MUST support +at least one of them. They also MAY support `http/json`. -SDKs have an unspecified default, if no configuration is provided. +If no configuration is provided the default transport SHOULD be `http/protobuf` +unless SDKs have good reasons to choose `grpc` as the default (e.g. for backward +compatibility reasons when `grpc` was already the default in a stable SDK +release). ### Specifying headers via environment variables