From 3c0efefe79578996b324177871687ca5a2a63d3f Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Fri, 8 Sep 2023 08:34:17 -0700 Subject: [PATCH] Stabilize the MetricProducer Resolve #3599 Add a comment on when the SDK needs to be prioritized over the MetricProducer. --- specification/metrics/sdk.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/specification/metrics/sdk.md b/specification/metrics/sdk.md index b51ce4f9328..6d73d1c4156 100644 --- a/specification/metrics/sdk.md +++ b/specification/metrics/sdk.md @@ -1079,7 +1079,7 @@ SHOULD provide at least the following: * The default output `aggregation` (optional), a function of instrument kind. If not configured, the [default aggregation](#default-aggregation) SHOULD be used. * The default output `temporality` (optional), a function of instrument kind. If not configured, the Cumulative temporality SHOULD be used. * **Status**: [Experimental](../document-status.md) - The default aggregation cardinality limit to use, a function of instrument kind. If not configured, a default value of 2000 SHOULD be used. -* **Status**: [Feature-freeze](../document-status.md) - Zero of more [MetricProducer](#metricproducer)s (optional) to collect metrics from in addition to metrics from the SDK. +* Zero of more [MetricProducer](#metricproducer)s (optional) to collect metrics from in addition to metrics from the SDK. The [MetricReader.Collect](#collect) method allows general-purpose `MetricExporter` instances to explicitly initiate collection, commonly @@ -1468,7 +1468,7 @@ modeled to interact with other components in the SDK: ## MetricProducer -**Status**: [Feature-freeze](../document-status.md) +**Status**: [Stable](../document-status.md) `MetricProducer` defines the interface which bridges to third-party metric sources MUST implement so they can be plugged into an OpenTelemetry @@ -1493,6 +1493,10 @@ libraries to facilitate conversion between delta and cumulative temporalities. +-----------------+ +--------------+ ``` +When new OpenTelemetry integrations are added, the SDK is the preferred +integration point. The `MetricProducer` is only meant for integrations that +bridge pre-processed data. + ### Interface Definition A `MetricProducer` MUST support the following functions: