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
  • Field Details

    • DEFAULT_SCHEDULE_DELAY_MILLIS

      static final long DEFAULT_SCHEDULE_DELAY_MILLIS
      See Also:
    • DEFAULT_MAX_QUEUE_SIZE

      static final int DEFAULT_MAX_QUEUE_SIZE
      See Also:
    • DEFAULT_MAX_EXPORT_BATCH_SIZE

      static final int DEFAULT_MAX_EXPORT_BATCH_SIZE
      See Also:
    • DEFAULT_EXPORT_TIMEOUT_MILLIS

      static final int DEFAULT_EXPORT_TIMEOUT_MILLIS
      See Also:
    • logRecordExporter

      private final LogRecordExporter logRecordExporter
    • scheduleDelayNanos

      private long scheduleDelayNanos
    • maxQueueSize

      private int maxQueueSize
    • maxExportBatchSize

      private int maxExportBatchSize
    • exporterTimeoutNanos

      private long exporterTimeoutNanos
    • meterProvider

      private MeterProvider meterProvider
  • Constructor Details

    • BatchLogRecordProcessorBuilder

      BatchLogRecordProcessorBuilder(LogRecordExporter logRecordExporter)
  • 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.
    • getScheduleDelayNanos

      long getScheduleDelayNanos()
    • 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.
    • getExporterTimeoutNanos

      long getExporterTimeoutNanos()
    • 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.
      See Also:
    • getMaxQueueSize

      int getMaxQueueSize()
    • 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:
    • setMeterProvider

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

      int getMaxExportBatchSize()
    • build

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