BatchingMetricProcessor implements MetricProcessor
FinalYes
Batches metrics for efficient export.
Collects metrics in memory and exports them in batches when:
- The batch size limit is reached
- flush() is explicitly called
- the system is shutting down
Interfaces
- MetricProcessor
- Interface for processing metric measurements.
Methods
- __construct() : mixed
- flush() : bool
- Export all pending metrics.
- process() : void
- Process a metric measurement.
- shutdown() : void
- Shutdown the processor.
Methods
__construct()
public
__construct(Exporter $exporter[, int $batchSize = 512 ][, ErrorHandler $errorHandler = new ErrorLogHandler() ]) : mixed
Parameters
- $exporter : Exporter
- $batchSize : int = 512
- $errorHandler : ErrorHandler = new ErrorLogHandler()
flush()
Export all pending metrics.
public
flush() : bool
Forces immediate export of any buffered metrics.
Return values
bool —True if all metrics were successfully exported
process()
Process a metric measurement.
public
process(Metric $metric) : void
This is invoked when an instrument records a value. The processor may buffer the metric, export it immediately, or discard it based on filtering rules.
Parameters
- $metric : Metric
shutdown()
Shutdown the processor.
public
shutdown() : void
Implementations SHOULD flush() pending data before delegating shutdown to the underlying exporter. MUST be idempotent and MUST NOT throw.