Package io.opentelemetry.sdk.logs.export
Class BatchLogRecordProcessor.Worker
- java.lang.Object
-
- io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor.Worker
-
- All Implemented Interfaces:
java.lang.Runnable
- Enclosing class:
- BatchLogRecordProcessor
private static final class BatchLogRecordProcessor.Worker extends java.lang.Object implements java.lang.Runnable
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.ArrayList<LogRecordData>batchprivate booleancontinueWorkprivate AttributesdroppedAttrsprivate AttributesexportedAttrsprivate longexporterTimeoutNanosprivate java.util.concurrent.atomic.AtomicReference<CompletableResultCode>flushRequestedprivate static java.util.logging.Loggerloggerprivate LogRecordExporterlogRecordExporterprivate java.util.concurrent.atomic.AtomicIntegerlogsNeededprivate intmaxExportBatchSizeprivate longnextExportTimeprivate LongCounterprocessedLogsCounterprivate java.util.Queue<ReadWriteLogRecord>queueprivate longscheduleDelayNanosprivate java.util.concurrent.BlockingQueue<java.lang.Boolean>signal
-
Constructor Summary
Constructors Modifier Constructor Description privateWorker(LogRecordExporter logRecordExporter, MeterProvider meterProvider, long scheduleDelayNanos, int maxExportBatchSize, long exporterTimeoutNanos, java.util.Queue<ReadWriteLogRecord> queue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddLog(ReadWriteLogRecord logData)private voidexportCurrentBatch()private voidflush()private CompletableResultCodeforceFlush()voidrun()private CompletableResultCodeshutdown()private voidupdateNextExportTime()
-
-
-
Field Detail
-
logger
private static final java.util.logging.Logger logger
-
processedLogsCounter
private final LongCounter processedLogsCounter
-
droppedAttrs
private final Attributes droppedAttrs
-
exportedAttrs
private final Attributes exportedAttrs
-
logRecordExporter
private final LogRecordExporter logRecordExporter
-
scheduleDelayNanos
private final long scheduleDelayNanos
-
maxExportBatchSize
private final int maxExportBatchSize
-
exporterTimeoutNanos
private final long exporterTimeoutNanos
-
nextExportTime
private long nextExportTime
-
queue
private final java.util.Queue<ReadWriteLogRecord> queue
-
logsNeeded
private final java.util.concurrent.atomic.AtomicInteger logsNeeded
-
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<LogRecordData> batch
-
-
Constructor Detail
-
Worker
private Worker(LogRecordExporter logRecordExporter, MeterProvider meterProvider, long scheduleDelayNanos, int maxExportBatchSize, long exporterTimeoutNanos, java.util.Queue<ReadWriteLogRecord> queue)
-
-
Method Detail
-
addLog
private void addLog(ReadWriteLogRecord logData)
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
flush
private void flush()
-
updateNextExportTime
private void updateNextExportTime()
-
shutdown
private CompletableResultCode shutdown()
-
forceFlush
private CompletableResultCode forceFlush()
-
exportCurrentBatch
private void exportCurrentBatch()
-
-