Class BatchLogRecordProcessorBuilder

java.lang.Object
io.opentelemetry.sdk.logs.export.BatchLogRecordProcessorBuilder

public final class BatchLogRecordProcessorBuilder extends Object
Builder class for BatchLogRecordProcessor.
Since:
1.27.0
  • Method Details

    • setScheduleDelay

      public BatchLogRecordProcessorBuilder setScheduleDelay(long delay, TimeUnit unit)
      Sets the delay interval between two consecutive exports. If unset, defaults to 1000Lms.
    • setScheduleDelay

      public BatchLogRecordProcessorBuilder setScheduleDelay(Duration delay)
      Sets the delay interval between two consecutive exports. If unset, defaults to 1000Lms.
    • setExporterTimeout

      public BatchLogRecordProcessorBuilder setExporterTimeout(long timeout, TimeUnit unit)
      Sets the maximum time an export will be allowed to run before being cancelled. If unset, defaults to 30000ms.
    • setExporterTimeout

      public BatchLogRecordProcessorBuilder setExporterTimeout(Duration timeout)
      Sets the maximum time an export will be allowed to run before being cancelled. If unset, defaults to 30000ms.
    • setMaxQueueSize

      public BatchLogRecordProcessorBuilder setMaxQueueSize(int maxQueueSize)
      Sets the maximum number of Logs that are kept in the queue before start dropping. More memory than this value may be allocated to optimize queue access.

      Default value is 2048.

      Parameters:
      maxQueueSize - the maximum number of Logs that are kept in the queue before start dropping.
      Returns:
      this.
      Throws:
      IllegalArgumentException - if maxQueueSize is not positive.
      See Also:
      • DEFAULT_MAX_QUEUE_SIZE
    • setMaxExportBatchSize

      public BatchLogRecordProcessorBuilder setMaxExportBatchSize(int maxExportBatchSize)
      Sets the maximum batch size for every export. This must be smaller or equal to maxQueueSize.

      Default value is 512.

      Parameters:
      maxExportBatchSize - the maximum batch size for every export.
      Returns:
      this.
      See Also:
      • DEFAULT_MAX_EXPORT_BATCH_SIZE
    • setMeterProvider

      public BatchLogRecordProcessorBuilder setMeterProvider(io.opentelemetry.api.metrics.MeterProvider meterProvider)
      Sets the MeterProvider to use to collect metrics related to batch export. If not set, metrics will not be collected.
    • build

      public BatchLogRecordProcessor build()
      Returns a new BatchLogRecordProcessor that batches, then forwards them to the given logRecordExporter.
      Returns:
      a new BatchLogRecordProcessor.