Skip to content

Commit cd4ec08

Browse files
Wip fix batch management
1 parent 8046afd commit cd4ec08

File tree

1 file changed

+7
-1
lines changed
  • exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter

1 file changed

+7
-1
lines changed

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,8 @@ def _split_metrics_data(
298298
self,
299299
metrics_data: pb2.MetricsData,
300300
) -> Iterable[pb2.MetricsData]:
301-
"""Splits metrics data into several metrics data. Copies protobuf originals.
301+
"""Splits metrics data into several MetricsData (copies protobuf originals),
302+
based on configured data point max export batch size.
302303
303304
Args:
304305
metrics_data: metrics object based on HTTP protocol buffer definition
@@ -408,9 +409,14 @@ def _split_metrics_data(
408409
batch_size += 1
409410

410411
if batch_size >= self._max_export_batch_size:
412+
# Update scope metrics, resource metrics after all data_points (so far) added to metric
413+
# and yield this batch
414+
new_scope_metrics.metrics.append(new_metric)
415+
new_resource_metrics.scope_metrics.append(new_scope_metrics)
411416
yield pb2.MetricsData(
412417
resource_metrics=split_resource_metrics
413418
)
419+
414420
# Reset all the variables
415421
batch_size = 0
416422
split_data_points = []

0 commit comments

Comments
 (0)