diff --git a/CHANGELOG.md b/CHANGELOG.md index 144d10bf371..d8b1bd014f3 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) 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 19cefd80b72..c62111c9935 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 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`. + +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: