Class TransactionalBufferMetrics
- java.lang.Object
-
- io.debezium.metrics.Metrics
-
- io.debezium.connector.oracle.logminer.TransactionalBufferMetrics
-
- All Implemented Interfaces:
TransactionalBufferMetricsMXBean
@ThreadSafe public class TransactionalBufferMetrics extends Metrics implements TransactionalBufferMetricsMXBean
This class contains MBean methods
-
-
Field Summary
Fields Modifier and Type Field Description private AtomicReference<Set<String>>abandonedTransactionIdsprivate AtomicIntegeractiveTransactionsprivate AtomicLongcommittedDmlCounterprivate AtomicReference<Scn>committedScnprivate AtomicLongcommittedTransactionsprivate AtomicIntegererrorCounterprivate AtomicReference<Duration>lagFromTheSourceprivate AtomicLonglastCommitDurationprivate AtomicLongmaxCommitDurationprivate AtomicReference<Duration>maxLagFromTheSourceprivate static longMILLIS_PER_SECONDprivate AtomicReference<Duration>minLagFromTheSourceprivate AtomicReference<Scn>offsetScnprivate AtomicReference<Scn>oldestScnprivate AtomicLongregisteredDmlCounterprivate AtomicReference<Set<String>>rolledBackTransactionIdsprivate AtomicLongrolledBackTransactionsprivate AtomicIntegerscnFreezeCounterprivate InstantstartTimeprivate AtomicLongtimeDifferenceprivate AtomicIntegerwarningCounter
-
Constructor Summary
Constructors Constructor Description TransactionalBufferMetrics(CdcSourceTaskContext taskContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddAbandonedTransactionId(String transactionId)(package private) voidaddRolledBackTransactionId(String transactionId)(package private) voidcalculateLagMetrics(Instant changeTime)Set<String>getAbandonedTransactionIds()This is to get list of removed transactions from the Transactional BufferLonggetCommittedScn()It shows last committed SCNlonggetCommitThroughput()Exposes average number of committed transactions per secondintgetErrorCounter()This is to get logged logError counter.longgetLagFromSource()This is to get the lag between latest captured change timestamp in REDO LOG and time of it's placement in the bufferLonggetLastCommitDuration()Get time duration taken my executing all callbacks for the commitLonggetMaxCommitDuration()Get max time duration taken my executing all callbackslonggetMaxLagFromSource()This is to get max value of the time difference between logging of source DB records into redo log and capturing it by LogMinerlonggetMinLagFromSource()This is to get min value of the time difference between logging of source DB records into redo log and capturing it by LogMinerintgetNumberOfActiveTransactions()Exposes number of transaction, buffered in memorylonggetNumberOfCommittedTransactions()Exposes number of committed transactionslonggetNumberOfRolledBackTransactions()Exposes number of rolled back transactionsLonggetOffsetScn()Get the offset SCNLonggetOldestScn()Exposes the oldest(smallest) SCN in the Transactional BufferlonggetRegisteredDmlCount()Exposes total number of registered DML operationsSet<String>getRolledBackTransactionIds()See which transactions were rolled backintgetScnFreezeCounter()Get counter of encountered observations when SCN does not change in the offset.intgetWarningCounter()This is to get logged warning counter(package private) voidincrementCommittedDmlCounter(int counter)(package private) voidincrementCommittedTransactions()(package private) voidincrementErrorCounter()This is to increase logged logError counter.(package private) voidincrementRegisteredDmlCounter()(package private) voidincrementRolledBackTransactions()(package private) voidincrementScnFreezeCounter()This counter to accumulate number of encountered observations when SCN does not change in the offset.(package private) voidincrementWarningCounter()This is to increase logged warning counter There are other ways to monitor the log, but this is just to check if there are any.voidreset()Reset metrics(package private) voidsetActiveTransactions(Integer counter)voidsetCommittedScn(Scn scn)(package private) voidsetLastCommitDuration(Long lastDuration)voidsetOffsetScn(Scn scn)(package private) voidsetOldestScn(Scn scn)voidsetTimeDifference(AtomicLong timeDifference)StringtoString()-
Methods inherited from class io.debezium.metrics.Metrics
metricName, register, unregister
-
-
-
-
Field Detail
-
MILLIS_PER_SECOND
private static final long MILLIS_PER_SECOND
- See Also:
- Constant Field Values
-
oldestScn
private final AtomicReference<Scn> oldestScn
-
committedScn
private final AtomicReference<Scn> committedScn
-
offsetScn
private final AtomicReference<Scn> offsetScn
-
activeTransactions
private final AtomicInteger activeTransactions
-
rolledBackTransactions
private final AtomicLong rolledBackTransactions
-
committedTransactions
private final AtomicLong committedTransactions
-
registeredDmlCounter
private final AtomicLong registeredDmlCounter
-
committedDmlCounter
private final AtomicLong committedDmlCounter
-
lastCommitDuration
private final AtomicLong lastCommitDuration
-
maxCommitDuration
private final AtomicLong maxCommitDuration
-
lagFromTheSource
private final AtomicReference<Duration> lagFromTheSource
-
maxLagFromTheSource
private final AtomicReference<Duration> maxLagFromTheSource
-
minLagFromTheSource
private final AtomicReference<Duration> minLagFromTheSource
-
abandonedTransactionIds
private final AtomicReference<Set<String>> abandonedTransactionIds
-
rolledBackTransactionIds
private final AtomicReference<Set<String>> rolledBackTransactionIds
-
startTime
private final Instant startTime
-
timeDifference
private final AtomicLong timeDifference
-
errorCounter
private final AtomicInteger errorCounter
-
warningCounter
private final AtomicInteger warningCounter
-
scnFreezeCounter
private final AtomicInteger scnFreezeCounter
-
-
Constructor Detail
-
TransactionalBufferMetrics
TransactionalBufferMetrics(CdcSourceTaskContext taskContext)
-
-
Method Detail
-
setOldestScn
void setOldestScn(Scn scn)
-
setCommittedScn
public void setCommittedScn(Scn scn)
-
setOffsetScn
public void setOffsetScn(Scn scn)
-
setTimeDifference
public void setTimeDifference(AtomicLong timeDifference)
-
calculateLagMetrics
void calculateLagMetrics(Instant changeTime)
-
setActiveTransactions
void setActiveTransactions(Integer counter)
-
incrementRolledBackTransactions
void incrementRolledBackTransactions()
-
incrementCommittedTransactions
void incrementCommittedTransactions()
-
incrementRegisteredDmlCounter
void incrementRegisteredDmlCounter()
-
incrementCommittedDmlCounter
void incrementCommittedDmlCounter(int counter)
-
addAbandonedTransactionId
void addAbandonedTransactionId(String transactionId)
-
addRolledBackTransactionId
void addRolledBackTransactionId(String transactionId)
-
setLastCommitDuration
void setLastCommitDuration(Long lastDuration)
-
incrementErrorCounter
void incrementErrorCounter()
This is to increase logged logError counter. There are other ways to monitor the log, but this is just to check if there are any.
-
incrementWarningCounter
void incrementWarningCounter()
This is to increase logged warning counter There are other ways to monitor the log, but this is just to check if there are any.
-
incrementScnFreezeCounter
void incrementScnFreezeCounter()
This counter to accumulate number of encountered observations when SCN does not change in the offset. This call indicates an uncommitted oldest transaction in the buffer.
-
getOldestScn
public Long getOldestScn()
Description copied from interface:TransactionalBufferMetricsMXBeanExposes the oldest(smallest) SCN in the Transactional Buffer- Specified by:
getOldestScnin interfaceTransactionalBufferMetricsMXBean- Returns:
- oldest SCN
-
getCommittedScn
public Long getCommittedScn()
Description copied from interface:TransactionalBufferMetricsMXBeanIt shows last committed SCN- Specified by:
getCommittedScnin interfaceTransactionalBufferMetricsMXBean- Returns:
- committed SCN
-
getOffsetScn
public Long getOffsetScn()
Description copied from interface:TransactionalBufferMetricsMXBeanGet the offset SCN- Specified by:
getOffsetScnin interfaceTransactionalBufferMetricsMXBean- Returns:
- offset SCN
-
getNumberOfActiveTransactions
public int getNumberOfActiveTransactions()
Description copied from interface:TransactionalBufferMetricsMXBeanExposes number of transaction, buffered in memory- Specified by:
getNumberOfActiveTransactionsin interfaceTransactionalBufferMetricsMXBean- Returns:
- number of currently buffered transactions
-
getNumberOfRolledBackTransactions
public long getNumberOfRolledBackTransactions()
Description copied from interface:TransactionalBufferMetricsMXBeanExposes number of rolled back transactions- Specified by:
getNumberOfRolledBackTransactionsin interfaceTransactionalBufferMetricsMXBean- Returns:
- number of rolled back transaction in the in-memory buffer
-
getNumberOfCommittedTransactions
public long getNumberOfCommittedTransactions()
Description copied from interface:TransactionalBufferMetricsMXBeanExposes number of committed transactions- Specified by:
getNumberOfCommittedTransactionsin interfaceTransactionalBufferMetricsMXBean- Returns:
- number of committed transaction in the in-memory buffer
-
getCommitThroughput
public long getCommitThroughput()
Description copied from interface:TransactionalBufferMetricsMXBeanExposes average number of committed transactions per second- Specified by:
getCommitThroughputin interfaceTransactionalBufferMetricsMXBean- Returns:
- average number of committed transactions per second in the in-memory buffer
-
getRegisteredDmlCount
public long getRegisteredDmlCount()
Description copied from interface:TransactionalBufferMetricsMXBeanExposes total number of registered DML operations- Specified by:
getRegisteredDmlCountin interfaceTransactionalBufferMetricsMXBean- Returns:
- registered DML count
-
getLagFromSource
public long getLagFromSource()
Description copied from interface:TransactionalBufferMetricsMXBeanThis is to get the lag between latest captured change timestamp in REDO LOG and time of it's placement in the buffer- Specified by:
getLagFromSourcein interfaceTransactionalBufferMetricsMXBean- Returns:
- lag in milliseconds
-
getMaxLagFromSource
public long getMaxLagFromSource()
Description copied from interface:TransactionalBufferMetricsMXBeanThis is to get max value of the time difference between logging of source DB records into redo log and capturing it by LogMiner- Specified by:
getMaxLagFromSourcein interfaceTransactionalBufferMetricsMXBean- Returns:
- value in milliseconds
-
getMinLagFromSource
public long getMinLagFromSource()
Description copied from interface:TransactionalBufferMetricsMXBeanThis is to get min value of the time difference between logging of source DB records into redo log and capturing it by LogMiner- Specified by:
getMinLagFromSourcein interfaceTransactionalBufferMetricsMXBean- Returns:
- value in milliseconds
-
getAbandonedTransactionIds
public Set<String> getAbandonedTransactionIds()
Description copied from interface:TransactionalBufferMetricsMXBeanThis is to get list of removed transactions from the Transactional Buffer- Specified by:
getAbandonedTransactionIdsin interfaceTransactionalBufferMetricsMXBean- Returns:
- count abandoned transaction ids
-
getRolledBackTransactionIds
public Set<String> getRolledBackTransactionIds()
Description copied from interface:TransactionalBufferMetricsMXBeanSee which transactions were rolled back- Specified by:
getRolledBackTransactionIdsin interfaceTransactionalBufferMetricsMXBean- Returns:
- set of transaction IDs
-
getErrorCounter
public int getErrorCounter()
Description copied from interface:TransactionalBufferMetricsMXBeanThis is to get logged logError counter.- Specified by:
getErrorCounterin interfaceTransactionalBufferMetricsMXBean- Returns:
- the error counter
-
getWarningCounter
public int getWarningCounter()
Description copied from interface:TransactionalBufferMetricsMXBeanThis is to get logged warning counter- Specified by:
getWarningCounterin interfaceTransactionalBufferMetricsMXBean- Returns:
- the warning counter
-
getScnFreezeCounter
public int getScnFreezeCounter()
Description copied from interface:TransactionalBufferMetricsMXBeanGet counter of encountered observations when SCN does not change in the offset.- Specified by:
getScnFreezeCounterin interfaceTransactionalBufferMetricsMXBean- Returns:
- the scn freeze counter
-
getLastCommitDuration
public Long getLastCommitDuration()
Description copied from interface:TransactionalBufferMetricsMXBeanGet time duration taken my executing all callbacks for the commit- Specified by:
getLastCommitDurationin interfaceTransactionalBufferMetricsMXBean- Returns:
- milliseconds
-
getMaxCommitDuration
public Long getMaxCommitDuration()
Description copied from interface:TransactionalBufferMetricsMXBeanGet max time duration taken my executing all callbacks- Specified by:
getMaxCommitDurationin interfaceTransactionalBufferMetricsMXBean- Returns:
- milliseconds
-
reset
public void reset()
Description copied from interface:TransactionalBufferMetricsMXBeanReset metrics- Specified by:
resetin interfaceTransactionalBufferMetricsMXBean
-
-