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 ChangeEventQueueMetrics
changeEventQueueMetrics
protected Clock
clock
private String
lastEvent
protected AtomicLong
lastEventTimestamp
protected EventMetadataProvider
metadataProvider
protected AtomicLong
numberOfErroneousEvents
private AtomicLong
numberOfEventsFiltered
protected CdcSourceTaskContext
taskContext
protected AtomicLong
totalNumberOfEventsSeen
-
Fields inherited from interface io.debezium.pipeline.source.spi.DataChangeEventListener
NO_OP
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PipelineMetrics(T taskContext, String contextName, ChangeEventQueueMetrics changeEventQueueMetrics, EventMetadataProvider metadataProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getCurrentQueueSizeInBytes()
String
getLastEvent()
long
getMaxQueueSizeInBytes()
long
getMilliSecondsSinceLastEvent()
long
getNumberOfErroneousEvents()
long
getNumberOfEventsFiltered()
int
getQueueRemainingCapacity()
int
getQueueTotalCapacity()
long
getTotalNumberOfEventsSeen()
void
onConnectorEvent(ConnectorEvent event)
Invoked for events that represent a connector event.void
onErroneousEvent(String event)
Invoked for events that cannot be processed.void
onEvent(DataCollectionId source, OffsetContext offset, Object key, org.apache.kafka.connect.data.Struct value)
Invoked if an event is processed for a captured table.void
onFilteredEvent(String event)
Invoked for events pertaining to non-captured tables.void
reset()
private void
updateCommonEventMetrics()
-
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:DataChangeEventListener
Invoked if an event is processed for a captured table.- Specified by:
onEvent
in interfaceDataChangeEventListener
-
updateCommonEventMetrics
private void updateCommonEventMetrics()
-
onFilteredEvent
public void onFilteredEvent(String event)
Description copied from interface:DataChangeEventListener
Invoked for events pertaining to non-captured tables.- Specified by:
onFilteredEvent
in interfaceDataChangeEventListener
-
onErroneousEvent
public void onErroneousEvent(String event)
Description copied from interface:DataChangeEventListener
Invoked for events that cannot be processed.- Specified by:
onErroneousEvent
in interfaceDataChangeEventListener
-
onConnectorEvent
public void onConnectorEvent(ConnectorEvent event)
Description copied from interface:DataChangeEventListener
Invoked for events that represent a connector event.- Specified by:
onConnectorEvent
in interfaceDataChangeEventListener
-
getLastEvent
public String getLastEvent()
- Specified by:
getLastEvent
in interfaceChangeEventSourceMetricsMXBean
-
getMilliSecondsSinceLastEvent
public long getMilliSecondsSinceLastEvent()
- Specified by:
getMilliSecondsSinceLastEvent
in interfaceChangeEventSourceMetricsMXBean
-
getTotalNumberOfEventsSeen
public long getTotalNumberOfEventsSeen()
- Specified by:
getTotalNumberOfEventsSeen
in interfaceChangeEventSourceMetricsMXBean
-
getNumberOfEventsFiltered
public long getNumberOfEventsFiltered()
- Specified by:
getNumberOfEventsFiltered
in interfaceChangeEventSourceMetricsMXBean
-
getNumberOfErroneousEvents
public long getNumberOfErroneousEvents()
- Specified by:
getNumberOfErroneousEvents
in interfaceChangeEventSourceMetricsMXBean
-
reset
public void reset()
- Specified by:
reset
in interfaceChangeEventSourceMetricsMXBean
-
getQueueTotalCapacity
public int getQueueTotalCapacity()
- Specified by:
getQueueTotalCapacity
in interfaceChangeEventSourceMetricsMXBean
-
getQueueRemainingCapacity
public int getQueueRemainingCapacity()
- Specified by:
getQueueRemainingCapacity
in interfaceChangeEventSourceMetricsMXBean
-
getMaxQueueSizeInBytes
public long getMaxQueueSizeInBytes()
- Specified by:
getMaxQueueSizeInBytes
in interfaceChangeEventSourceMetricsMXBean
-
getCurrentQueueSizeInBytes
public long getCurrentQueueSizeInBytes()
- Specified by:
getCurrentQueueSizeInBytes
in interfaceChangeEventSourceMetricsMXBean
-
-