From fef51570cecf369625409e1ffc3183feb308466e Mon Sep 17 00:00:00 2001 From: Joshua MacDonald Date: Thu, 17 Nov 2022 14:53:55 -0800 Subject: [PATCH 1/6] Lowmemory temporality preference --- specification/metrics/sdk_exporters/otlp.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/specification/metrics/sdk_exporters/otlp.md b/specification/metrics/sdk_exporters/otlp.md index e471b859ab8..08207ffef91 100644 --- a/specification/metrics/sdk_exporters/otlp.md +++ b/specification/metrics/sdk_exporters/otlp.md @@ -49,6 +49,14 @@ The recognized (case-insensitive) values for `OTEL_EXPORTER_OTLP_METRICS_TEMPORA * `cumulative`: Choose cumulative aggregation temporality for all instrument kinds. * `delta`: Choose Delta aggregation temporality for Counter, Asynchronous Counter and Histogram instrument kinds, choose Cumulative aggregation for UpDownCounter and Asynchronous UpDownCounter instrument kinds. +* `lowmemory`: This configuration uses Delta aggregation temporality for Synchronous Counter and Histogram and uses Cumulative aggregation temporality for Asynchronous Counter, UpDownCounter and Asynchronous UpDownCounter instrument kinds. + +The "lowmemory" choice is so-named because the SDK can under certain +conditions use less memory in this configuration than the others. +Comparatively, the "cumulative" choice forces the SDK to maintain a +delta-to-cumulative conversion for Synchronous Counter and Histogram +instruments, while the "delta" choice forces the SDK to maintain a +cumulative-to-delta conversion for Asynchronous Counter instruments. The recognized (case-insensitive) values for `OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION` are: From 763a34ffdf94647abb668cac6c36aa23a1d7ba1c Mon Sep 17 00:00:00 2001 From: Joshua MacDonald Date: Thu, 17 Nov 2022 16:13:19 -0800 Subject: [PATCH 2/6] add changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97944bb6157..d8f56a8181d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,11 @@ release. ### Metrics +- Add OTLP exporter temporality preference named "lowmemory" which + configures Synchronous Counter and Histogram instruments to use + Delta aggregation temporality, which allows them to shed memory + following a cardinality explosion, thus use less memory. + ### Logs - Move `event.domain` from InstrumentationScope attributes to LogRecord From 3278d6948153c602a9578557b4d5efebebc7b107 Mon Sep 17 00:00:00 2001 From: Joshua MacDonald Date: Mon, 28 Nov 2022 09:04:04 -0800 Subject: [PATCH 3/6] Update specification/metrics/sdk_exporters/otlp.md Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com> --- specification/metrics/sdk_exporters/otlp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/metrics/sdk_exporters/otlp.md b/specification/metrics/sdk_exporters/otlp.md index 08207ffef91..d54ccf6c0c2 100644 --- a/specification/metrics/sdk_exporters/otlp.md +++ b/specification/metrics/sdk_exporters/otlp.md @@ -49,7 +49,7 @@ The recognized (case-insensitive) values for `OTEL_EXPORTER_OTLP_METRICS_TEMPORA * `cumulative`: Choose cumulative aggregation temporality for all instrument kinds. * `delta`: Choose Delta aggregation temporality for Counter, Asynchronous Counter and Histogram instrument kinds, choose Cumulative aggregation for UpDownCounter and Asynchronous UpDownCounter instrument kinds. -* `lowmemory`: This configuration uses Delta aggregation temporality for Synchronous Counter and Histogram and uses Cumulative aggregation temporality for Asynchronous Counter, UpDownCounter and Asynchronous UpDownCounter instrument kinds. +* `lowmemory`: This configuration uses Delta aggregation temporality for Synchronous Counter and Histogram and uses Cumulative aggregation temporality for Synchronous UpDownCounter, Asynchronous Counter, and Asynchronous UpDownCounter instrument kinds. The "lowmemory" choice is so-named because the SDK can under certain conditions use less memory in this configuration than the others. From bcd5460e7c3f72f9528acb3a62452979425ad55c Mon Sep 17 00:00:00 2001 From: Joshua MacDonald Date: Mon, 28 Nov 2022 09:41:15 -0800 Subject: [PATCH 4/6] upcase --- specification/metrics/sdk_exporters/otlp.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/metrics/sdk_exporters/otlp.md b/specification/metrics/sdk_exporters/otlp.md index d54ccf6c0c2..56194214c79 100644 --- a/specification/metrics/sdk_exporters/otlp.md +++ b/specification/metrics/sdk_exporters/otlp.md @@ -46,12 +46,12 @@ then by default: The recognized (case-insensitive) values for `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` are: -* `cumulative`: Choose cumulative aggregation temporality for all instrument kinds. -* `delta`: Choose Delta aggregation temporality for Counter, Asynchronous Counter and Histogram instrument kinds, choose +* `Cumulative`: Choose cumulative aggregation temporality for all instrument kinds. +* `Delta`: Choose Delta aggregation temporality for Counter, Asynchronous Counter and Histogram instrument kinds, choose Cumulative aggregation for UpDownCounter and Asynchronous UpDownCounter instrument kinds. -* `lowmemory`: This configuration uses Delta aggregation temporality for Synchronous Counter and Histogram and uses Cumulative aggregation temporality for Synchronous UpDownCounter, Asynchronous Counter, and Asynchronous UpDownCounter instrument kinds. +* `LowMemory`: This configuration uses Delta aggregation temporality for Synchronous Counter and Histogram and uses Cumulative aggregation temporality for Synchronous UpDownCounter, Asynchronous Counter, and Asynchronous UpDownCounter instrument kinds. -The "lowmemory" choice is so-named because the SDK can under certain +The "LowMemory" choice is so-named because the SDK can under certain conditions use less memory in this configuration than the others. Comparatively, the "cumulative" choice forces the SDK to maintain a delta-to-cumulative conversion for Synchronous Counter and Histogram From 4497a1404d0d0435f39a856d1c624bd4cd0982b8 Mon Sep 17 00:00:00 2001 From: Joshua MacDonald Date: Mon, 28 Nov 2022 09:44:15 -0800 Subject: [PATCH 5/6] chlog upcase --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8f56a8181d..44c9de265ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ release. ### Metrics -- Add OTLP exporter temporality preference named "lowmemory" which +- Add OTLP exporter temporality preference named "LowMemory" which configures Synchronous Counter and Histogram instruments to use Delta aggregation temporality, which allows them to shed memory following a cardinality explosion, thus use less memory. From b7e5ca390479e7243f3570fa44f1b6f1dc5d9ded Mon Sep 17 00:00:00 2001 From: Joshua MacDonald Date: Mon, 28 Nov 2022 12:24:06 -0800 Subject: [PATCH 6/6] tidy --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 580be76d992..c9ce189d168 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,8 +16,8 @@ release. - Define Experimental MetricProducer as a third-party provider of metric data to MetricReaders. ([#2951](https://github.com/open-telemetry/opentelemetry-specification/pull/2951)) - Add OTLP exporter temporality preference named "LowMemory" which - configures Synchronous Counter and Histogram instruments to use - Delta aggregation temporality, which allows them to shed memory + configures Synchronous Counter and Histogram instruments to use + Delta aggregation temporality, which allows them to shed memory following a cardinality explosion, thus use less memory. ([#2961](https://github.com/open-telemetry/opentelemetry-specification/pull/2961)) ### Logs