Skip to content

Support Max batch size for Push metrics exporters #4852

@dashpole

Description

@dashpole

What are you trying to achieve?

Both the trace and log SDKs allow me to configure a maximum number of logs/spans that are exported in a batch as part of the batching processor: https://opentelemetry.io/docs/specs/otel/trace/sdk/#batching-processor.

I would like to be able to similarly configure a maximum number of metric data points that metrics SDK/exporter push in a batch.

Prior art

The collector's batch processor names this configuration: send_batch_max_size. When applied to metrics, it limits the number of metric data points (and not number of metrics, or something else).

The Trace and Log SDK's batch processors name this configuration: maxExportBatchSize.

Pythons OTLP gRPC metrics exporter has a max_export_batch_size option: https://github.com/open-telemetry/opentelemetry-python/blob/615d467fde6bad6cd6ffda71c55334746ef8075f/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py#L93.

Design

The main question is where the right place for this to live is. It seems like it would make the most sense under https://opentelemetry.io/docs/specs/otel/metrics/sdk/#periodic-exporting-metricreader. Another option would be for this to be specified on OTLP exporters, similar to what python has implemented.

Tip: React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Assignees

Labels

spec:metricsRelated to the specification/metrics directorytriage:accepted:ready-with-sponsorReady to be implemented and has a specification sponsor assignedtriage:followupNeeds follow up during triage

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions