You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[Gauge](./api.md#gauge)|[Last Value Aggregation](./sdk.md#last-value-aggregation)|
530
531
|[Asynchronous Gauge](./api.md#asynchronous-gauge)|[Last Value Aggregation](./sdk.md#last-value-aggregation)|
531
532
|[Histogram](./api.md#histogram)|[Explicit Bucket Histogram Aggregation](./sdk.md#explicit-bucket-histogram-aggregation), with `ExplicitBucketBoundaries` from [advice](./api.md#instrument-advice) if provided |
532
533
@@ -703,7 +704,8 @@ given instrument before starting a subsequent round of collection.
703
704
704
705
The implementation SHOULD NOT produce aggregated metric data for a
705
706
previously-observed attribute set which is not observed during a successful
706
-
callback.
707
+
callback. See [MetricReader](#metricreader) for more details on the persistence
708
+
of metrics across successive collections.
707
709
708
710
### Cardinality limits
709
711
@@ -854,6 +856,11 @@ When a Meter creates an instrument, it SHOULD validate the instrument advice
854
856
parameters. If an advice parameter is not valid, the Meter SHOULD emit an error
855
857
notifying the user and proceed as if the parameter was not provided.
856
858
859
+
If multiple [identical Instruments](api.md#instrument) are created with
860
+
different advice parameters, the Meter MUST return an instrument using the
861
+
first-seen advice parameters and log an appropriate error as described in
* Collecting metrics from the SDK and any registered
1063
1069
[MetricProducers](#metricproducer) on demand.
1064
1070
* Handling the [ForceFlush](#forceflush) and [Shutdown](#shutdown) signals from
@@ -1071,7 +1077,7 @@ SHOULD provide at least the following:
1071
1077
* The default output `aggregation` (optional), a function of instrument kind. If not configured, the [default aggregation](#default-aggregation) SHOULD be used.
1072
1078
* The default output `temporality` (optional), a function of instrument kind. If not configured, the Cumulative temporality SHOULD be used.
1073
1079
***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.
1074
-
***Status**: [Experimental](../document-status.md) - Zero of more [MetricProducer](#metricproducer)s (optional) to collect metrics from in addition to metrics from the SDK.
1080
+
***Status**: [Feature-freeze](../document-status.md) - Zero of more [MetricProducer](#metricproducer)s (optional) to collect metrics from in addition to metrics from the SDK.
1075
1081
1076
1082
The [MetricReader.Collect](#collect) method allows general-purpose
1077
1083
`MetricExporter` instances to explicitly initiate collection, commonly
@@ -1082,18 +1088,48 @@ typically with push-based metrics collection.
1082
1088
1083
1089
The `MetricReader` MUST ensure that data points from OpenTelemetry
1084
1090
[instruments](./api.md#instrument) are output in the configured aggregation
1085
-
temporality for each instrument kind. For synchronous instruments being output
1086
-
with Cumulative temporality, this means converting [Delta to Cumulative](supplementary-guidelines.md#synchronous-example-cumulative-aggregation-temporality)
1087
-
aggregation temporality. For asynchronous instruments being output
1088
-
with Delta temporality, this means converting [Cumulative to
0 commit comments