From 71978232869ec2761fcec45aedb8003b660a1420 Mon Sep 17 00:00:00 2001 From: Achal Date: Sun, 1 Mar 2026 21:57:52 +0530 Subject: [PATCH] docs(metrics): reference PeriodicExportingMetricReader usage with push exporters --- .../sdk/metrics/_internal/__init__.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py index 1ffcd5a14c..5502ad2ca9 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py @@ -377,8 +377,8 @@ class MeterProvider(APIMeterProvider): metric_readers: Register metric readers to collect metrics from the SDK on demand. Each :class:`opentelemetry.sdk.metrics.export.MetricReader` is completely independent and will collect separate streams of - metrics. TODO: reference ``PeriodicExportingMetricReader`` usage with push - exporters here. + metrics. For push-based export, use + :class:`opentelemetry.sdk.metrics.export.PeriodicExportingMetricReader`. resource: The resource representing what the metrics emitted from the SDK pertain to. shutdown_on_exit: If true, registers an `atexit` handler to call `MeterProvider.shutdown` @@ -400,6 +400,18 @@ class MeterProvider(APIMeterProvider): ], # ... ) + + .. code-block:: python + :caption: Push-based export with PeriodicExportingMetricReader + + from opentelemetry.sdk.metrics import MeterProvider + from opentelemetry.sdk.metrics.export import ( + ConsoleMetricExporter, + PeriodicExportingMetricReader, + ) + + reader = PeriodicExportingMetricReader(ConsoleMetricExporter()) + provider = MeterProvider(metric_readers=[reader]) """ _all_metric_readers_lock = Lock()