The current implementation of PeriodicExportingMetricReader::CollectAndExportOnce spawns a new thread for each export operation. This design was initially based on the assumption that the reader should handle multiple exporter requests for separate time series concurrently. However, this behavior is not supported by the specification and leads to unnecessary resource consumption, especially when the export interval is short.
The proposal is to manage export execution on a single background worker thread, similar to DoBackgroundWork in the batch processor.
The current implementation of PeriodicExportingMetricReader::CollectAndExportOnce spawns a new thread for each export operation. This design was initially based on the assumption that the reader should handle multiple exporter requests for separate time series concurrently. However, this behavior is not supported by the specification and leads to unnecessary resource consumption, especially when the export interval is short.
The proposal is to manage export execution on a single background worker thread, similar to DoBackgroundWork in the batch processor.