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 interfaceDataImportProfiler.ColumnInstrumentation for per-column work as a component of row processing. -
Field Summary
Fields Modifier and Type Field Description static DataImportProfilerNOOP_PROFILERThe default no-op profiler, for use in testing and initialization. -
Constructor Summary
Constructors Constructor Description DataImportProfiler() -
Method Summary
Modifier and Type Method Description abstract voidbeginCommit()Record the beginning of an interval spent synchronizing data and writing checkpoints for commit.abstract voidbeginFlush()Record the beginning of an interval spent flushing data.abstract voidbeginImportStateUpdate()Record the beginning of an interval spent updating import state if doing batched row processing.abstract voidbeginPrepareCheckpoint()Record the beginning of an interval spent preparing checkpoints for commit.abstract voidbeginRead()Record the beginning of an interval spent reading data.abstract voidbeginRecordProcessing()Record the beginning of an interval spent processing record entries.abstract voidbeginRowProcessing()Record the beginning of an interval spent processing row entries.abstract voidbeginWait()Record the beginning of an interval spent waiting for data.abstract voidendCommit()Record the end of an interval spent synchronizing data and writing checkpoints for commit.abstract voidendFlush()Record the end of an interval spent flushing data.abstract voidendImportStateUpdate()Record the end of an interval spent updating import state if doing batched row processing.abstract voidendPrepareCheckpoint()Record the end of an interval spent preparing checkpoints for commit.abstract voidendRead()Record the end of an interval spent reading data.abstract voidendRecordProcessing()Record the end of an interval spent processing record entries.abstract voidendRowProcessing()Record the end of an interval spent processing row entries.abstract voidendWait()Record the end of an interval spent waiting for data.abstract DataImportProfiler.ColumngetColumn(String name)Get aDataImportProfiler.Columnfor per-column instrumentation.static DataImportProfilermake(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.Columnfor 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
-