Package io.debezium.pipeline.metrics
Class PipelineMetrics
- java.lang.Object
-
- io.debezium.metrics.Metrics
-
- io.debezium.pipeline.metrics.PipelineMetrics
-
- All Implemented Interfaces:
ChangeEventSourceMetricsMXBean,DataChangeEventListener
- Direct Known Subclasses:
SnapshotChangeEventSourceMetrics,StreamingChangeEventSourceMetrics
@ThreadSafe public abstract class PipelineMetrics extends Metrics implements DataChangeEventListener, ChangeEventSourceMetricsMXBean
Base for metrics implementations.- Author:
- Randall Hauch, Jiri Pechanec
-
-
Field Summary
Fields Modifier and Type Field Description private ChangeEventQueueMetricschangeEventQueueMetricsprotected Clockclockprivate StringlastEventprotected AtomicLonglastEventTimestampprotected EventMetadataProvidermetadataProviderprotected AtomicLongnumberOfErroneousEventsprivate AtomicLongnumberOfEventsFilteredprotected CdcSourceTaskContexttaskContextprotected AtomicLongtotalNumberOfEventsSeen-
Fields inherited from interface io.debezium.pipeline.source.spi.DataChangeEventListener
NO_OP
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedPipelineMetrics(T taskContext, String contextName, ChangeEventQueueMetrics changeEventQueueMetrics, EventMetadataProvider metadataProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetCurrentQueueSizeInBytes()StringgetLastEvent()longgetMaxQueueSizeInBytes()longgetMilliSecondsSinceLastEvent()longgetNumberOfErroneousEvents()longgetNumberOfEventsFiltered()intgetQueueRemainingCapacity()intgetQueueTotalCapacity()longgetTotalNumberOfEventsSeen()voidonConnectorEvent(ConnectorEvent event)Invoked for events that represent a connector event.voidonErroneousEvent(String event)Invoked for events that cannot be processed.voidonEvent(DataCollectionId source, OffsetContext offset, Object key, org.apache.kafka.connect.data.Struct value)Invoked if an event is processed for a captured table.voidonFilteredEvent(String event)Invoked for events pertaining to non-captured tables.voidreset()private voidupdateCommonEventMetrics()-
Methods inherited from class io.debezium.metrics.Metrics
metricName, register, unregister
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.debezium.pipeline.metrics.ChangeEventSourceMetricsMXBean
getCapturedTables, getMonitoredTables
-
-
-
-
Field Detail
-
metadataProvider
protected final EventMetadataProvider metadataProvider
-
totalNumberOfEventsSeen
protected final AtomicLong totalNumberOfEventsSeen
-
numberOfEventsFiltered
private final AtomicLong numberOfEventsFiltered
-
numberOfErroneousEvents
protected final AtomicLong numberOfErroneousEvents
-
lastEventTimestamp
protected final AtomicLong lastEventTimestamp
-
lastEvent
private volatile String lastEvent
-
clock
protected final Clock clock
-
changeEventQueueMetrics
private final ChangeEventQueueMetrics changeEventQueueMetrics
-
taskContext
protected final CdcSourceTaskContext taskContext
-
-
Constructor Detail
-
PipelineMetrics
protected PipelineMetrics(T taskContext, String contextName, ChangeEventQueueMetrics changeEventQueueMetrics, EventMetadataProvider metadataProvider)
-
-
Method Detail
-
onEvent
public void onEvent(DataCollectionId source, OffsetContext offset, Object key, org.apache.kafka.connect.data.Struct value)
Description copied from interface:DataChangeEventListenerInvoked if an event is processed for a captured table.- Specified by:
onEventin interfaceDataChangeEventListener
-
updateCommonEventMetrics
private void updateCommonEventMetrics()
-
onFilteredEvent
public void onFilteredEvent(String event)
Description copied from interface:DataChangeEventListenerInvoked for events pertaining to non-captured tables.- Specified by:
onFilteredEventin interfaceDataChangeEventListener
-
onErroneousEvent
public void onErroneousEvent(String event)
Description copied from interface:DataChangeEventListenerInvoked for events that cannot be processed.- Specified by:
onErroneousEventin interfaceDataChangeEventListener
-
onConnectorEvent
public void onConnectorEvent(ConnectorEvent event)
Description copied from interface:DataChangeEventListenerInvoked for events that represent a connector event.- Specified by:
onConnectorEventin interfaceDataChangeEventListener
-
getLastEvent
public String getLastEvent()
- Specified by:
getLastEventin interfaceChangeEventSourceMetricsMXBean
-
getMilliSecondsSinceLastEvent
public long getMilliSecondsSinceLastEvent()
- Specified by:
getMilliSecondsSinceLastEventin interfaceChangeEventSourceMetricsMXBean
-
getTotalNumberOfEventsSeen
public long getTotalNumberOfEventsSeen()
- Specified by:
getTotalNumberOfEventsSeenin interfaceChangeEventSourceMetricsMXBean
-
getNumberOfEventsFiltered
public long getNumberOfEventsFiltered()
- Specified by:
getNumberOfEventsFilteredin interfaceChangeEventSourceMetricsMXBean
-
getNumberOfErroneousEvents
public long getNumberOfErroneousEvents()
- Specified by:
getNumberOfErroneousEventsin interfaceChangeEventSourceMetricsMXBean
-
reset
public void reset()
- Specified by:
resetin interfaceChangeEventSourceMetricsMXBean
-
getQueueTotalCapacity
public int getQueueTotalCapacity()
- Specified by:
getQueueTotalCapacityin interfaceChangeEventSourceMetricsMXBean
-
getQueueRemainingCapacity
public int getQueueRemainingCapacity()
- Specified by:
getQueueRemainingCapacityin interfaceChangeEventSourceMetricsMXBean
-
getMaxQueueSizeInBytes
public long getMaxQueueSizeInBytes()
- Specified by:
getMaxQueueSizeInBytesin interfaceChangeEventSourceMetricsMXBean
-
getCurrentQueueSizeInBytes
public long getCurrentQueueSizeInBytes()
- Specified by:
getCurrentQueueSizeInBytesin interfaceChangeEventSourceMetricsMXBean
-
-