diff --git a/src/OpenTelemetry/Metrics/MeterProviderSdk.cs b/src/OpenTelemetry/Metrics/MeterProviderSdk.cs index 10c1326885c..af142db482c 100644 --- a/src/OpenTelemetry/Metrics/MeterProviderSdk.cs +++ b/src/OpenTelemetry/Metrics/MeterProviderSdk.cs @@ -167,12 +167,13 @@ internal Batch Collect() // Record all observable instruments this.listener.RecordObservableInstruments(); var indexSnapShot = Math.Min(this.metricIndex, MaxMetrics - 1); - for (int i = 0; i < indexSnapShot + 1; i++) + var target = indexSnapShot + 1; + for (int i = 0; i < target; i++) { this.metrics[i].SnapShot(); } - return new Batch(this.metrics, indexSnapShot + 1); + return (target > 0) ? new Batch(this.metrics, indexSnapShot + 1) : default; } catch (Exception) {