Class BatchSpanProcessor.Worker

  • All Implemented Interfaces:
    java.lang.Runnable
    Enclosing class:
    BatchSpanProcessor

    private static final class BatchSpanProcessor.Worker
    extends java.lang.Object
    implements java.lang.Runnable
    • Field Detail

      • processedSpansCounter

        private final LongCounter processedSpansCounter
      • droppedAttrs

        private final Attributes droppedAttrs
      • exportedAttrs

        private final Attributes exportedAttrs
      • scheduleDelayNanos

        private final long scheduleDelayNanos
      • maxExportBatchSize

        private final int maxExportBatchSize
      • exporterTimeoutNanos

        private final long exporterTimeoutNanos
      • nextExportTime

        private long nextExportTime
      • spansNeeded

        private final java.util.concurrent.atomic.AtomicInteger spansNeeded
      • signal

        private final java.util.concurrent.BlockingQueue<java.lang.Boolean> signal
      • flushRequested

        private final java.util.concurrent.atomic.AtomicReference<CompletableResultCode> flushRequested
      • continueWork

        private volatile boolean continueWork
      • batch

        private final java.util.ArrayList<SpanData> batch
    • Constructor Detail

      • Worker

        private Worker​(SpanExporter spanExporter,
                       MeterProvider meterProvider,
                       long scheduleDelayNanos,
                       int maxExportBatchSize,
                       long exporterTimeoutNanos,
                       java.util.Queue<ReadableSpan> queue)
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
      • flush

        private void flush()
      • updateNextExportTime

        private void updateNextExportTime()
      • exportCurrentBatch

        private void exportCurrentBatch()