diff --git a/CHANGELOG.md b/CHANGELOG.md index bb3ae4037f7..760e00f55e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ 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 + following a cardinality explosion, thus use less memory. ([#2961](https://github.com/open-telemetry/opentelemetry-specification/pull/2961)) ### Logs diff --git a/specification/metrics/sdk_exporters/otlp.md b/specification/metrics/sdk_exporters/otlp.md index e471b859ab8..56194214c79 100644 --- a/specification/metrics/sdk_exporters/otlp.md +++ b/specification/metrics/sdk_exporters/otlp.md @@ -46,9 +46,17 @@ 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. + +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: