Package io.debezium.relational.history
Class SchemaHistoryMetrics
java.lang.Object
io.debezium.metrics.Metrics
io.debezium.relational.history.SchemaHistoryMetrics
- All Implemented Interfaces:
SchemaHistoryListener
,SchemaHistoryMXBean
public class SchemaHistoryMetrics
extends Metrics
implements SchemaHistoryListener, SchemaHistoryMXBean
Implementation of
DatabaseSchema
metrics.- Author:
- Jiri Pechanec
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprivate AtomicLong
private final Clock
private static final String
private HistoryRecord
private final ElapsedTimeStrategy
private Instant
private final ElapsedTimeStrategy
private Instant
private HistoryRecord
private static final org.slf4j.Logger
private static final Duration
private Instant
private AtomicLong
Fields inherited from interface io.debezium.relational.history.SchemaHistoryListener
NOOP
-
Constructor Summary
ConstructorDescriptionSchemaHistoryMetrics
(CommonConnectorConfig connectorConfig, boolean multiPartitionMode) -
Method Summary
Modifier and TypeMethodDescriptionlong
long
long
long
long
The schema history starts inSTOPPED
state.void
onChangeApplied
(HistoryRecord record) Invoked for every change applied and not filtered.void
onChangeFromHistory
(HistoryRecord record) Invoked for every change read from the history during recovery.void
void
void
started()
void
stopped()
Methods inherited from class io.debezium.metrics.Metrics
metricName, metricName, register, unregister
-
Field Details
-
CONTEXT_NAME
- See Also:
-
PAUSE_BETWEEN_LOG_MESSAGES
-
LOGGER
private static final org.slf4j.Logger LOGGER -
status
-
recoveryStartTime
-
changesRecovered
-
totalChangesApplied
-
lastChangeAppliedTimestamp
-
lastChangeRecoveredTimestamp
-
lastAppliedChange
-
lastRecoveredChange
-
clock
-
lastChangeAppliedLogDelay
-
lastChangeRecoveredLogDelay
-
-
Constructor Details
-
SchemaHistoryMetrics
-
-
Method Details
-
getStatus
Description copied from interface:SchemaHistoryMXBean
The schema history starts inSTOPPED
state. Upon start it transitions toRECOVERING
state. When all changes from stored history were applied then it switches toRUNNING
state.Maps to
SchemaHistoryMetrics.SchemaHistoryStatus
enum.- Specified by:
getStatus
in interfaceSchemaHistoryMXBean
- Returns:
- schema history component state
-
getRecoveryStartTime
public long getRecoveryStartTime()- Specified by:
getRecoveryStartTime
in interfaceSchemaHistoryMXBean
- Returns:
- time in epoch seconds when recovery has started
-
getChangesRecovered
public long getChangesRecovered()- Specified by:
getChangesRecovered
in interfaceSchemaHistoryMXBean
- Returns:
- number of changes that were read during recovery phase
-
getChangesApplied
public long getChangesApplied()- Specified by:
getChangesApplied
in interfaceSchemaHistoryMXBean
- Returns:
- number of changes that were applied during recovery phase increased by number of changes applied during runtime
-
getMilliSecondsSinceLastAppliedChange
public long getMilliSecondsSinceLastAppliedChange()- Specified by:
getMilliSecondsSinceLastAppliedChange
in interfaceSchemaHistoryMXBean
- Returns:
- elapsed time in milliseconds since the last change was applied
-
getMilliSecondsSinceLastRecoveredChange
public long getMilliSecondsSinceLastRecoveredChange()- Specified by:
getMilliSecondsSinceLastRecoveredChange
in interfaceSchemaHistoryMXBean
- Returns:
- elapsed time in milliseconds since the last record was recovered from history
-
getLastAppliedChange
- Specified by:
getLastAppliedChange
in interfaceSchemaHistoryMXBean
- Returns:
- String representation of the last applied change
-
getLastRecoveredChange
- Specified by:
getLastRecoveredChange
in interfaceSchemaHistoryMXBean
- Returns:
- String representation of the last recovered change
-
started
public void started()- Specified by:
started
in interfaceSchemaHistoryListener
-
stopped
public void stopped()- Specified by:
stopped
in interfaceSchemaHistoryListener
-
recoveryStarted
public void recoveryStarted()- Specified by:
recoveryStarted
in interfaceSchemaHistoryListener
-
recoveryStopped
public void recoveryStopped()- Specified by:
recoveryStopped
in interfaceSchemaHistoryListener
-
onChangeFromHistory
Description copied from interface:SchemaHistoryListener
Invoked for every change read from the history during recovery.- Specified by:
onChangeFromHistory
in interfaceSchemaHistoryListener
-
onChangeApplied
Description copied from interface:SchemaHistoryListener
Invoked for every change applied and not filtered.- Specified by:
onChangeApplied
in interfaceSchemaHistoryListener
-