Skip to content

Commit

Permalink
Stabilize the MetricProducer
Browse files Browse the repository at this point in the history
Resolve open-telemetry#3599

Add a comment on when the SDK needs to be prioritized over the
MetricProducer.
  • Loading branch information
MrAlias committed Sep 8, 2023
1 parent e5b3109 commit 3c0efef
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions specification/metrics/sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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:
Expand Down

0 comments on commit 3c0efef

Please sign in to comment.