From 42c2e4dd0efa6485b4f784fab30f157c497671d1 Mon Sep 17 00:00:00 2001 From: Carlos Alberto Cortez Date: Wed, 15 Sep 2021 15:12:28 +0200 Subject: [PATCH 1/7] Allow SIGs to use their own default for OTLP compression. --- specification/protocol/exporter.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index 5a3268f2f54..5f337913fc5 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -15,14 +15,17 @@ The following configuration options MUST be available to configure the OTLP expo | Insecure | Whether to enable client transport security for the exporter's gRPC connection. This option only applies to OTLP/gRPC - OTLP/HTTP always uses the scheme provided for the `endpoint`. Implementations MAY choose to not implement the `insecure` option if it is not required or supported by the underlying gRPC client implementation. | `false` | `OTEL_EXPORTER_OTLP_INSECURE` `OTEL_EXPORTER_OTLP_SPAN_INSECURE` `OTEL_EXPORTER_OTLP_METRIC_INSECURE` | | Certificate File | The trusted certificate to use when verifying a server's TLS credentials. Should only be used for a secure connection. | n/a | `OTEL_EXPORTER_OTLP_CERTIFICATE` `OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE` `OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE` | | 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 | `OTEL_EXPORTER_OTLP_COMPRESSION` `OTEL_EXPORTER_OTLP_TRACES_COMPRESSION` `OTEL_EXPORTER_OTLP_METRICS_COMPRESSION` | +| 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` | +**[1]**: Although compression disabled by default is recommended, SIGs may use any of the supported methods by default instead, +given technical constraints, e.g. directly sending telemetry data from mobile devices to backend servers. + Supported values for `OTEL_EXPORTER_OTLP_*COMPRESSION` options: - If the value is missing, then compression is disabled. -- `gzip` is the only specified compression method for now. Other options MAY be supported by language SDKs and should be documented for each particular language. +- `gzip` is the only specified compression method for now. Example 1 From 5f9c20bd75d149bf53e9d77a2c941a614d1c94e8 Mon Sep 17 00:00:00 2001 From: Carlos Alberto Cortez Date: Wed, 15 Sep 2021 15:20:11 +0200 Subject: [PATCH 2/7] Update CHANGELOG. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index adc810022af..beeab272285 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ release. ### OpenTelemetry Protocol - Add environment variables for configuring the OTLP exporter protocol (`grpc`, `http/protobuf`, `http/json`) ([#1880](https://github.com/open-telemetry/opentelemetry-specification/pull/1880)) +- Allow SIGs to use their own default for OTLP compression ([#1923](https://github.com/open-telemetry/opentelemetry-specification/pull/1923)) ### SDK Configuration From a67f7f1b1fc327053d281eeb73ae0ff392571c38 Mon Sep 17 00:00:00 2001 From: Carlos Alberto Cortez Date: Wed, 22 Sep 2021 14:43:43 +0200 Subject: [PATCH 3/7] Reword according to feedback. --- specification/protocol/exporter.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index 5f337913fc5..bea1b3b6940 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -19,12 +19,13 @@ The following configuration options MUST be available to configure the OTLP expo | 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` | -**[1]**: Although compression disabled by default is recommended, SIGs may use any of the supported methods by default instead, -given technical constraints, e.g. directly sending telemetry data from mobile devices to backend servers. +**[1]**: If no explicit compression value is specified, SIGs can default to the value they deem +most useful among the supported options. This is specially important in presence of technical constraints, +e.g. directly sending telemetry data from mobile devices to backend servers. Supported values for `OTEL_EXPORTER_OTLP_*COMPRESSION` options: -- If the value is missing, then compression is disabled. +- `none` if compression is disabled. - `gzip` is the only specified compression method for now. Example 1 From b6c8b7a4f32e06e3264f00f4219ea635f25ed219 Mon Sep 17 00:00:00 2001 From: Carlos Alberto Cortez Date: Wed, 22 Sep 2021 16:24:03 +0200 Subject: [PATCH 4/7] More feedback. --- specification/protocol/exporter.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index bea1b3b6940..3266ec4d3b4 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -19,13 +19,13 @@ The following configuration options MUST be available to configure the OTLP expo | 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` | -**[1]**: If no explicit compression value is specified, SIGs can default to the value they deem +**[1]**: If no compression value is explicitly specified, SIGs can default to the value they deem most useful among the supported options. This is specially important in presence of technical constraints, e.g. directly sending telemetry data from mobile devices to backend servers. Supported values for `OTEL_EXPORTER_OTLP_*COMPRESSION` options: -- `none` if compression is disabled. +- `` if compression is disabled. - `gzip` is the only specified compression method for now. Example 1 From 79c12850708af7b7c16bc5fbdd7bff7771a688ab Mon Sep 17 00:00:00 2001 From: Carlos Alberto Cortez Date: Thu, 23 Sep 2021 15:56:31 +0200 Subject: [PATCH 5/7] Update specification/protocol/exporter.md Co-authored-by: Yuri Shkuro --- specification/protocol/exporter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index 3266ec4d3b4..6cd39a0fef2 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -20,7 +20,7 @@ The following configuration options MUST be available to configure the OTLP expo | 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` | **[1]**: If no compression value is explicitly specified, SIGs can default to the value they deem -most useful among the supported options. This is specially important in presence of technical constraints, +most useful among the supported options. This is especially important in the presence of technical constraints, e.g. directly sending telemetry data from mobile devices to backend servers. Supported values for `OTEL_EXPORTER_OTLP_*COMPRESSION` options: From 589ee6e315d615d4c3d955b37d4953f017cf67f9 Mon Sep 17 00:00:00 2001 From: Carlos Alberto Cortez Date: Tue, 28 Sep 2021 16:02:40 +0200 Subject: [PATCH 6/7] Restore `none` as no compression. --- specification/protocol/exporter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/protocol/exporter.md b/specification/protocol/exporter.md index 6cd39a0fef2..aa56ed8e26d 100644 --- a/specification/protocol/exporter.md +++ b/specification/protocol/exporter.md @@ -25,7 +25,7 @@ e.g. directly sending telemetry data from mobile devices to backend servers. Supported values for `OTEL_EXPORTER_OTLP_*COMPRESSION` options: -- `` if compression is disabled. +- `none` if compression is disabled. - `gzip` is the only specified compression method for now. Example 1 From b6c5d193e7bd1854dbd9b9b6b11e3cbacd8998de Mon Sep 17 00:00:00 2001 From: Carlos Alberto Cortez Date: Wed, 29 Sep 2021 11:40:21 +0200 Subject: [PATCH 7/7] Update CHANGELOG. --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9437aa3721c..e29b16acae4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,7 +58,8 @@ release. ### OpenTelemetry Protocol - Add environment variables for configuring the OTLP exporter protocol (`grpc`, `http/protobuf`, `http/json`) ([#1880](https://github.com/open-telemetry/opentelemetry-specification/pull/1880)) -- Allow SIGs to use their own default for OTLP compression ([#1923](https://github.com/open-telemetry/opentelemetry-specification/pull/1923)) +- Allow implementations to use their own default for OTLP compression, with `none` denotating no compression + ([#1923](https://github.com/open-telemetry/opentelemetry-specification/pull/1923)) ### SDK Configuration