Class DataImportProfiler
java.lang.Object
com.illumon.iris.db.tables.dataimport.logtailer.DataImportProfiler
public abstract class DataImportProfiler extends Object
Tool to accumulate profiling statistics from a
DataImportStreamProcessor
.
Currently this instruments most "high frequency" actions, but does not cover header processing, truncation, or shutdown.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DataImportProfiler.Column
Instrumentation for per-column work as a component of row processing. -
Field Summary
Fields Modifier and Type Field Description static DataImportProfiler
NOOP_PROFILER
The default no-op profiler, for use in testing and initialization. -
Constructor Summary
Constructors Constructor Description DataImportProfiler()
-
Method Summary
Modifier and Type Method Description abstract void
beginCommit()
Record the beginning of an interval spent synchronizing data and writing checkpoints for commit.abstract void
beginFlush()
Record the beginning of an interval spent flushing data.abstract void
beginImportStateUpdate()
Record the beginning of an interval spent updating import state if doing batched row processing.abstract void
beginPrepareCheckpoint()
Record the beginning of an interval spent preparing checkpoints for commit.abstract void
beginRead()
Record the beginning of an interval spent reading data.abstract void
beginRecordProcessing()
Record the beginning of an interval spent processing record entries.abstract void
beginRowProcessing()
Record the beginning of an interval spent processing row entries.abstract void
beginWait()
Record the beginning of an interval spent waiting for data.abstract void
endCommit()
Record the end of an interval spent synchronizing data and writing checkpoints for commit.abstract void
endFlush()
Record the end of an interval spent flushing data.abstract void
endImportStateUpdate()
Record the end of an interval spent updating import state if doing batched row processing.abstract void
endPrepareCheckpoint()
Record the end of an interval spent preparing checkpoints for commit.abstract void
endRead()
Record the end of an interval spent reading data.abstract void
endRecordProcessing()
Record the end of an interval spent processing record entries.abstract void
endRowProcessing()
Record the end of an interval spent processing row entries.abstract void
endWait()
Record the end of an interval spent waiting for data.abstract DataImportProfiler.Column
getColumn(String name)
Get aDataImportProfiler.Column
for per-column instrumentation.static DataImportProfiler
make(com.illumon.iris.db.tables.dataimport.logtailer.DataImportStreamProcessor.ProfilingLevel profilingLevel, FullTableLocationKey streamKey)
Get a data import profiler for the specified level and stream.
-
Field Details
-
NOOP_PROFILER
The default no-op profiler, for use in testing and initialization.
-
-
Constructor Details
-
DataImportProfiler
public DataImportProfiler()
-
-
Method Details
-
beginWait
public abstract void beginWait()Record the beginning of an interval spent waiting for data. -
endWait
public abstract void endWait()Record the end of an interval spent waiting for data. -
beginRead
public abstract void beginRead()Record the beginning of an interval spent reading data. -
endRead
public abstract void endRead()Record the end of an interval spent reading data. -
beginRecordProcessing
public abstract void beginRecordProcessing()Record the beginning of an interval spent processing record entries. -
endRecordProcessing
public abstract void endRecordProcessing()Record the end of an interval spent processing record entries. -
beginRowProcessing
public abstract void beginRowProcessing()Record the beginning of an interval spent processing row entries. -
endRowProcessing
public abstract void endRowProcessing()Record the end of an interval spent processing row entries. -
beginFlush
public abstract void beginFlush()Record the beginning of an interval spent flushing data. -
endFlush
public abstract void endFlush()Record the end of an interval spent flushing data. -
beginPrepareCheckpoint
public abstract void beginPrepareCheckpoint()Record the beginning of an interval spent preparing checkpoints for commit. -
endPrepareCheckpoint
public abstract void endPrepareCheckpoint()Record the end of an interval spent preparing checkpoints for commit. -
beginCommit
public abstract void beginCommit()Record the beginning of an interval spent synchronizing data and writing checkpoints for commit. -
endCommit
public abstract void endCommit()Record the end of an interval spent synchronizing data and writing checkpoints for commit. -
beginImportStateUpdate
public abstract void beginImportStateUpdate()Record the beginning of an interval spent updating import state if doing batched row processing. -
endImportStateUpdate
public abstract void endImportStateUpdate()Record the end of an interval spent updating import state if doing batched row processing. -
getColumn
Get aDataImportProfiler.Column
for per-column instrumentation.- Parameters:
name
- The column name- Returns:
- The
DataImportProfiler.Column
-
make
public static DataImportProfiler make(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportStreamProcessor.ProfilingLevel profilingLevel, @NotNull FullTableLocationKey streamKey)Get a data import profiler for the specified level and stream.- Parameters:
profilingLevel
- The granularity level of the profilerstreamKey
- The stream's key- Returns:
- A profiler for the specified level and stream
-