Interface TableLogger
- All Superinterfaces:
com.illumon.intradaylogger.IntradayLogger,TableLoggerBase
- All Known Implementing Classes:
ProcessTelemetryFormat1Logger
An interface that logs snapshots and optionally, updates from a source table to another Deephaven table.
Implementations of this interface must provide implementations of the TableLoggerBase.Handle interface
with the logger context as well as the logTableHandle and logTableHandlePrev methods to log the current and
previous values of a particular row index, respectively.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classA ColumnSource that always returns null-equivalent for previous values.Nested classes/interfaces inherited from interface com.illumon.intradaylogger.IntradayLogger
com.illumon.intradaylogger.IntradayLogger.TableWriterFactory, com.illumon.intradaylogger.IntradayLogger.TableWriterFactoryImplNested classes/interfaces inherited from interface com.illumon.iris.db.tables.dataimport.TableLoggerBase
TableLoggerBase.Flags, TableLoggerBase.Handle, TableLoggerBase.Operation -
Field Summary
Fields inherited from interface com.illumon.intradaylogger.IntradayLogger
DEFAULT_INTRADAY_LOGGER_FLAGSFields inherited from interface com.illumon.iris.db.tables.dataimport.TableLoggerBase
DEFAULT_TABLELOGGER_FLAGS -
Method Summary
Modifier and TypeMethodDescriptiondefault TableWriterReturn the table writer.default voidlogTable(Table tableToLog, Index index, TableLoggerBase.Flags flags, boolean logUpdates, boolean logPrevValues) Writes a subset of tableToLog to the binary log.default voidlogTable(Table tableToLog, Index index, TableLoggerBase.Flags flags, boolean logUpdates, boolean logPrevValues, Collection<String> prevColumnsToLog) Writes a subset of tableToLog to the binary log.voidlogTableHandle(TableLoggerBase.Handle logHandle, Row.Flags flags, long index, TableLoggerBase.Operation operation) Log a row from a table handlevoidlogTableHandlePrev(TableLoggerBase.Handle logHandle, Row.Flags flags, long index, TableLoggerBase.Operation operation) Log a previous row from a table handlestatic <T> ColumnSourcemaybeWrapWithNoPrevSource(Collection<String> prevColumnsToLog, String columnName, ColumnSource<T> columnSource) Helper function to wrap a column source with a NoPrevColumnSource if previous values are not desired by the logger.Methods inherited from interface com.illumon.intradaylogger.IntradayLogger
close, getLogFormat, getWriterThread, init, init, init, init, isClosed, setOverflowThrottle, shutdown, tryWrite, usingDynamicPartitioning, waitDone, waitDoneMethods inherited from interface com.illumon.iris.db.tables.dataimport.TableLoggerBase
getLogHandle, logTable, logTable, logTable, logTable, logTable, logTable, logTable
-
Method Details
-
logTableHandle
void logTableHandle(TableLoggerBase.Handle logHandle, Row.Flags flags, long index, TableLoggerBase.Operation operation) throws IOException Log a row from a table handle- Parameters:
logHandle- the log handle to extract data fromflags- controls the transaction behaviorindex- the row (index key) to logoperation- the table update event that resulted in this log call- Throws:
IOException- if the log call fails
-
logTableHandlePrev
void logTableHandlePrev(TableLoggerBase.Handle logHandle, Row.Flags flags, long index, TableLoggerBase.Operation operation) throws IOException Log a previous row from a table handle- Parameters:
logHandle- the log handle to extract data fromflags- controls the transaction behaviorindex- the row (index key) to logoperation- the table update event that resulted in this log call- Throws:
IOException- if the log call fails
-
logTable
default void logTable(Table tableToLog, Index index, TableLoggerBase.Flags flags, boolean logUpdates, boolean logPrevValues) throws IOException Writes a subset of tableToLog to the binary log.- Specified by:
logTablein interfaceTableLoggerBase- Parameters:
tableToLog- the table to log, must conform to the definition used to create this loggerindex- the subset of the table to logflags- controls the transaction behaviorlogUpdates- if true, continue to log updates to the tablelogPrevValues- if true, log the old version of each row when rows are modified (only applicable when logUpdates is true)- Throws:
IOException- if an error occurs while logging
-
logTable
default void logTable(Table tableToLog, Index index, TableLoggerBase.Flags flags, boolean logUpdates, boolean logPrevValues, Collection<String> prevColumnsToLog) throws IOException Writes a subset of tableToLog to the binary log.- Specified by:
logTablein interfaceTableLoggerBase- Parameters:
tableToLog- the table to log, must conform to the definition used to create this loggerindex- the subset of the table to logflags- controls the transaction behaviorlogUpdates- if true, continue to log updates to the tableprevColumnsToLog- if true, log the old version of each row when rows are modified (only applicable when logUpdates is true)logPrevValues- if true, log the old version of each row when rows are modified (only applicable when logUpdates is true)- Throws:
IOException- if an error occurs while logging
-
getWriter
Return the table writer. This will have been created by the created by the TableWriterFactory during init().- Returns:
- the internal TableWriter, or null if the implementation does not support this call.
-
maybeWrapWithNoPrevSource
static <T> ColumnSource maybeWrapWithNoPrevSource(Collection<String> prevColumnsToLog, String columnName, ColumnSource<T> columnSource) Helper function to wrap a column source with a NoPrevColumnSource if previous values are not desired by the logger.- Type Parameters:
T- the column type- Parameters:
prevColumnsToLog- collection of columns for which to log previous values (null for all)columnName- name of the relevant columncolumnSource- ColumnSource corresponding to the given column name- Returns:
- either the original column source or a NoPrevColumnSource
-