Package io.debezium.connector.mysql
Class MySqlStreamingChangeEventSourceMetrics
java.lang.Object
io.debezium.metrics.Metrics
io.debezium.pipeline.metrics.PipelineMetrics<P>
io.debezium.pipeline.metrics.DefaultStreamingChangeEventSourceMetrics<MySqlPartition>
io.debezium.connector.mysql.MySqlStreamingChangeEventSourceMetrics
- All Implemented Interfaces:
MySqlStreamingChangeEventSourceMetricsMXBean
,ChangeEventSourceMetrics<MySqlPartition>
,ChangeEventSourceMetricsMXBean
,StreamingChangeEventSourceMetrics<MySqlPartition>
,StreamingChangeEventSourceMetricsMXBean
,CommonEventMetricsMXBean
,ConnectionMetricsMXBean
,QueueMetricsMXBean
,SchemaMetricsMXBean
,StreamingMetricsMXBean
,DataChangeEventListener<MySqlPartition>
,StreamingProgressListener
public class MySqlStreamingChangeEventSourceMetrics
extends DefaultStreamingChangeEventSourceMetrics<MySqlPartition>
implements MySqlStreamingChangeEventSourceMetricsMXBean
- Author:
- Randall Hauch
-
Field Summary
Modifier and TypeFieldDescriptionprivate final com.github.shyiko.mysql.binlog.BinaryLogClient
private final AtomicBoolean
private final AtomicReference<String>
private final AtomicLong
private final AtomicLong
private final AtomicLong
private final AtomicLong
private final AtomicLong
private final MySqlDatabaseSchema
private final com.github.shyiko.mysql.binlog.jmx.BinaryLogClientStatistics
Fields inherited from class io.debezium.pipeline.metrics.PipelineMetrics
metadataProvider, taskContext
-
Constructor Summary
ConstructorDescriptionMySqlStreamingChangeEventSourceMetrics
(MySqlTaskContext taskContext, ChangeEventQueueMetrics changeEventQueueMetrics, EventMetadataProvider metadataProvider) -
Method Summary
Modifier and TypeMethodDescriptionName of the current MySQL binlog file being read by underlying mysql-binlog-client.long
Current MySQL binlog offset position being read by underlying mysql-binlog-client.String[]
Current MySQL Gtid being read by underlying mysql-binlog-client.boolean
Tracks if the connector is running using Gtids to track current offset.long
long
String[]
long
Tracks the number of committed transactions.long
Tracks the number of times the underlying mysql-binlog-client has been disconnected from MySQL.long
Tracks the number of transaction which contains events that contained more entries than could be contained within the connectors instance.long
Tracks the number of transactions which are not well-formed.long
Tracks the number of rolled back transactions.long
Tracks the number of events skipped by underlying mysql-binlog-client, generally due to the client being unable to properly deserialize the event.long
boolean
void
void
onGtidChange
(String gtid) void
void
void
void
reset()
void
setIsGtidModeEnabled
(boolean enabled) void
setMilliSecondsBehindSource
(long value) Methods inherited from class io.debezium.pipeline.metrics.DefaultStreamingChangeEventSourceMetrics
connected, onConnectorEvent, onEvent
Methods inherited from class io.debezium.pipeline.metrics.PipelineMetrics
getCurrentQueueSizeInBytes, getMaxQueueSizeInBytes, getNumberOfErroneousEvents, getNumberOfEventsFiltered, getQueueRemainingCapacity, getQueueTotalCapacity, getTotalNumberOfCreateEventsSeen, getTotalNumberOfDeleteEventsSeen, getTotalNumberOfUpdateEventsSeen, onErroneousEvent, onErroneousEvent, onFilteredEvent, onFilteredEvent
Methods inherited from class io.debezium.metrics.Metrics
metricName, 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.ChangeEventSourceMetrics
register, unregister
Methods inherited from interface io.debezium.pipeline.metrics.traits.CommonEventMetricsMXBean
getNumberOfErroneousEvents, getNumberOfEventsFiltered, getTotalNumberOfCreateEventsSeen, getTotalNumberOfDeleteEventsSeen, getTotalNumberOfUpdateEventsSeen
Methods inherited from interface io.debezium.pipeline.source.spi.DataChangeEventListener
onErroneousEvent, onErroneousEvent, onFilteredEvent, onFilteredEvent
Methods inherited from interface io.debezium.pipeline.metrics.traits.QueueMetricsMXBean
getCurrentQueueSizeInBytes, getMaxQueueSizeInBytes, getQueueRemainingCapacity, getQueueTotalCapacity
-
Field Details
-
client
private final com.github.shyiko.mysql.binlog.BinaryLogClient client -
stats
private final com.github.shyiko.mysql.binlog.jmx.BinaryLogClientStatistics stats -
schema
-
numberOfCommittedTransactions
-
numberOfRolledBackTransactions
-
numberOfNotWellFormedTransactions
-
numberOfLargeTransactions
-
isGtidModeEnabled
-
milliSecondsBehindMaster
-
lastTransactionId
-
-
Constructor Details
-
MySqlStreamingChangeEventSourceMetrics
public MySqlStreamingChangeEventSourceMetrics(MySqlTaskContext taskContext, ChangeEventQueueMetrics changeEventQueueMetrics, EventMetadataProvider metadataProvider)
-
-
Method Details
-
isConnected
public boolean isConnected()- Specified by:
isConnected
in interfaceConnectionMetricsMXBean
- Overrides:
isConnected
in classDefaultStreamingChangeEventSourceMetrics<MySqlPartition>
-
getBinlogFilename
Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Name of the current MySQL binlog file being read by underlying mysql-binlog-client.- Specified by:
getBinlogFilename
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
-
getBinlogPosition
public long getBinlogPosition()Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Current MySQL binlog offset position being read by underlying mysql-binlog-client.- Specified by:
getBinlogPosition
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
-
getGtidSet
Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Current MySQL Gtid being read by underlying mysql-binlog-client.- Specified by:
getGtidSet
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
-
getIsGtidModeEnabled
public boolean getIsGtidModeEnabled()Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Tracks if the connector is running using Gtids to track current offset.- Specified by:
getIsGtidModeEnabled
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
- Returns:
- true if using Gtids, false if not.
-
getLastEvent
- Specified by:
getLastEvent
in interfaceCommonEventMetricsMXBean
- Overrides:
getLastEvent
in classPipelineMetrics<MySqlPartition>
-
getMilliSecondsSinceLastEvent
public long getMilliSecondsSinceLastEvent()- Specified by:
getMilliSecondsSinceLastEvent
in interfaceCommonEventMetricsMXBean
- Overrides:
getMilliSecondsSinceLastEvent
in classPipelineMetrics<MySqlPartition>
-
getTotalNumberOfEventsSeen
public long getTotalNumberOfEventsSeen()- Specified by:
getTotalNumberOfEventsSeen
in interfaceCommonEventMetricsMXBean
- Overrides:
getTotalNumberOfEventsSeen
in classPipelineMetrics<MySqlPartition>
-
getNumberOfSkippedEvents
public long getNumberOfSkippedEvents()Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Tracks the number of events skipped by underlying mysql-binlog-client, generally due to the client being unable to properly deserialize the event.- Specified by:
getNumberOfSkippedEvents
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
-
getNumberOfDisconnects
public long getNumberOfDisconnects()Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Tracks the number of times the underlying mysql-binlog-client has been disconnected from MySQL.- Specified by:
getNumberOfDisconnects
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
-
reset
public void reset()- Specified by:
reset
in interfaceChangeEventSourceMetricsMXBean
- Overrides:
reset
in classDefaultStreamingChangeEventSourceMetrics<MySqlPartition>
-
getNumberOfCommittedTransactions
public long getNumberOfCommittedTransactions()Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Tracks the number of committed transactions.- Specified by:
getNumberOfCommittedTransactions
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
- Specified by:
getNumberOfCommittedTransactions
in interfaceStreamingMetricsMXBean
- Overrides:
getNumberOfCommittedTransactions
in classDefaultStreamingChangeEventSourceMetrics<MySqlPartition>
-
getNumberOfRolledBackTransactions
public long getNumberOfRolledBackTransactions()Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Tracks the number of rolled back transactions.- Specified by:
getNumberOfRolledBackTransactions
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
-
getNumberOfNotWellFormedTransactions
public long getNumberOfNotWellFormedTransactions()Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Tracks the number of transactions which are not well-formed. Example - The connector sees a commit TX event without a matched begin TX event.- Specified by:
getNumberOfNotWellFormedTransactions
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
-
getNumberOfLargeTransactions
public long getNumberOfLargeTransactions()Description copied from interface:MySqlStreamingChangeEventSourceMetricsMXBean
Tracks the number of transaction which contains events that contained more entries than could be contained within the connectors instance.- Specified by:
getNumberOfLargeTransactions
in interfaceMySqlStreamingChangeEventSourceMetricsMXBean
-
onCommittedTransaction
public void onCommittedTransaction() -
onRolledBackTransaction
public void onRolledBackTransaction() -
onNotWellFormedTransaction
public void onNotWellFormedTransaction() -
onLargeTransaction
public void onLargeTransaction() -
onGtidChange
-
setIsGtidModeEnabled
public void setIsGtidModeEnabled(boolean enabled) -
setMilliSecondsBehindSource
public void setMilliSecondsBehindSource(long value) -
getMonitoredTables
- Specified by:
getMonitoredTables
in interfaceChangeEventSourceMetricsMXBean
- Overrides:
getMonitoredTables
in classDefaultStreamingChangeEventSourceMetrics<MySqlPartition>
-
getCapturedTables
- Specified by:
getCapturedTables
in interfaceSchemaMetricsMXBean
- Overrides:
getCapturedTables
in classDefaultStreamingChangeEventSourceMetrics<MySqlPartition>
-
getMilliSecondsBehindSource
public long getMilliSecondsBehindSource()- Specified by:
getMilliSecondsBehindSource
in interfaceStreamingMetricsMXBean
- Overrides:
getMilliSecondsBehindSource
in classDefaultStreamingChangeEventSourceMetrics<MySqlPartition>
-
getSourceEventPosition
- Specified by:
getSourceEventPosition
in interfaceStreamingMetricsMXBean
- Overrides:
getSourceEventPosition
in classDefaultStreamingChangeEventSourceMetrics<MySqlPartition>
-
getLastTransactionId
- Specified by:
getLastTransactionId
in interfaceStreamingMetricsMXBean
- Overrides:
getLastTransactionId
in classDefaultStreamingChangeEventSourceMetrics<MySqlPartition>
-