From f428e8c46cc09da339029d485683ffc6a011576e Mon Sep 17 00:00:00 2001 From: Nikita Salnikov-Tarnovski Date: Mon, 5 Jul 2021 08:10:10 +0300 Subject: [PATCH 1/3] More explanation for OTLP transport protocols --- spec-compliance-matrix.md | 2 +- specification/protocol/exporter.md | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/spec-compliance-matrix.md b/spec-compliance-matrix.md index 878dc5e6393..1f9d617c8cd 100644 --- a/spec-compliance-matrix.md +++ b/spec-compliance-matrix.md @@ -159,7 +159,7 @@ Note: Support for environment variables is optional. | [OTLP](specification/protocol/otlp.md) | | | | | | | | | | | | | | OTLP/gRPC Exporter | * | + | + | + | + | | + | | + | + | + | + | | OTLP/HTTP binary Protobuf Exporter | * | + | - | + | [-][py1106] | + | + | | | - | - | - | -| OTLP/HTTP JSON Protobuf Exporter | * | + | - | + | [-][py1003] | | - | | | - | - | - | +| OTLP/HTTP JSON Protobuf Exporter | | + | - | + | [-][py1003] | | - | | | - | - | - | | OTLP/HTTP gzip Content-Encoding support | X | + | - | + | + | + | - | | | - | - | - | | Concurrent sending | | - | + | + | [-][py1108] | | - | | + | - | - | - | | Honors retryable responses with backoff | X | + | | + | + | + | - | | | - | - | - | diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index 5d61c1a8238..573a099f39e 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -41,9 +41,15 @@ export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://collector.example.com/v1/metr ### Specify Protocol -Currently, OTLP has more than one transport protocol it can support, e.g. -`grpc`, `http/json`, `http/protobuf`. As of 1.0 of the specification, there -*is no specified default, or configuration via environment variables*. We +Currently, OTLP supports the following transport protocols: + +- `grpc` for protobuf-encoded data over HTTP/2 connection using [gRPC framework](https://grpc.io/) +- `http/protobuf` for protobuf-encoded data over HTTP/1.1 connection +- `http/json` for JSON-encoded data over HTTP/1.1 connection + +SDKs MUST support either `grpc` or `http/protobuf` and SHOULD support both. They also MAY support `http/json`. + +As of 1.0 of the specification, there *is no specified default, or configuration via environment variables*. We reserve the following environment variables for configuration of protocols in the future: From 8f3921d1ba0763d5d3a97834b34154dc504c98e0 Mon Sep 17 00:00:00 2001 From: Nikita Salnikov-Tarnovski Date: Mon, 5 Jul 2021 09:11:54 +0300 Subject: [PATCH 2/3] Polish --- specification/protocol/exporter.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index 573a099f39e..517bb2b297e 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -43,9 +43,9 @@ export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://collector.example.com/v1/metr Currently, OTLP supports the following transport protocols: -- `grpc` for protobuf-encoded data over HTTP/2 connection using [gRPC framework](https://grpc.io/) -- `http/protobuf` for protobuf-encoded data over HTTP/1.1 connection -- `http/json` for JSON-encoded data over HTTP/1.1 connection +- `grpc` for protobuf-encoded data using gRPC wire format over HTTP/2 connection +- `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`. From 0dc6129271324cc436b05f2738c22d9f5cdd7072 Mon Sep 17 00:00:00 2001 From: Nikita Salnikov-Tarnovski Date: Mon, 12 Jul 2021 10:37:00 +0300 Subject: [PATCH 3/3] Add CHANGELOG entry --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea0ed01002e..e63e27c21df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,9 @@ release. ### OpenTelemetry Protocol +- Adding requirement to implement at least one of two transports: `grpc` or `http/protobuf`. + ([#1790](https://github.com/open-telemetry/opentelemetry-specification/pull/1790/files)) + ### SDK Configuration ## v1.5.0 (2021-07-08)