Class ExtendedStatisticInterceptor
java.lang.Object
org.infinispan.interceptors.BaseAsyncInterceptor
org.infinispan.interceptors.DDAsyncInterceptor
org.infinispan.interceptors.BaseCustomAsyncInterceptor
org.infinispan.extendedstats.wrappers.ExtendedStatisticInterceptor
- All Implemented Interfaces:
Visitor
,AsyncInterceptor
@MBean(objectName="ExtendedStatistics",
description="Component that manages and exposes extended statistics relevant to transactions.")
public class ExtendedStatisticInterceptor
extends BaseCustomAsyncInterceptor
Take the statistics about relevant visitable commands.
- Since:
- 6.0
- Author:
- Roberto Palmieri, Sebastiano Peluso, Diego Didona, Pedro Ruivo
-
Field Summary
Fields inherited from class org.infinispan.interceptors.BaseCustomAsyncInterceptor
cache, embeddedCacheManager
Fields inherited from class org.infinispan.interceptors.BaseAsyncInterceptor
cacheConfiguration
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal String
final void
final void
dumpStatisticToFile
(String filePath) double
double
getAttribute
(ExtendedStatistic statistic) final String
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
final CacheStatisticManager
double
double
double
double
double
double
double
double
double
double
double
double
double
double
getPercentileLocalReadOnlyTransaction
(int percentile) double
getPercentileLocalRWriteTransaction
(int percentile) double
getPercentileRemoteReadOnlyTransaction
(int percentile) double
getPercentileRemoteWriteTransaction
(int percentile) double
double
double
final double
getStatisticValue
(String statName) double
double
void
protected void
start()
visitCommitCommand
(TxInvocationContext ctx, org.infinispan.commands.tx.CommitCommand command) visitComputeCommand
(InvocationContext ctx, org.infinispan.commands.write.ComputeCommand command) visitComputeIfAbsentCommand
(InvocationContext ctx, org.infinispan.commands.write.ComputeIfAbsentCommand command) visitGetAllCommand
(InvocationContext ctx, org.infinispan.commands.read.GetAllCommand command) visitGetKeyValueCommand
(InvocationContext ctx, org.infinispan.commands.read.GetKeyValueCommand command) visitPrepareCommand
(TxInvocationContext ctx, org.infinispan.commands.tx.PrepareCommand command) visitPutKeyValueCommand
(InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command) visitReadWriteKeyCommand
(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command) visitRemoveCommand
(InvocationContext ctx, org.infinispan.commands.write.RemoveCommand command) visitReplaceCommand
(InvocationContext ctx, org.infinispan.commands.write.ReplaceCommand command) visitRollbackCommand
(TxInvocationContext ctx, org.infinispan.commands.tx.RollbackCommand command) Methods inherited from class org.infinispan.interceptors.BaseCustomAsyncInterceptor
stop
Methods inherited from class org.infinispan.interceptors.DDAsyncInterceptor
handleDefault, visitClearCommand, visitCommand, visitEntrySetCommand, visitEvictCommand, visitGetCacheEntryCommand, visitInvalidateCommand, visitInvalidateL1Command, visitIracPutKeyValueCommand, visitKeySetCommand, visitLockControlCommand, visitPutMapCommand, visitReadOnlyKeyCommand, visitReadOnlyManyCommand, visitReadWriteKeyValueCommand, visitReadWriteManyCommand, visitReadWriteManyEntriesCommand, visitSizeCommand, visitTouchCommand, visitUnknownCommand, visitWriteOnlyKeyCommand, visitWriteOnlyKeyValueCommand, visitWriteOnlyManyCommand, visitWriteOnlyManyEntriesCommand
Methods inherited from class org.infinispan.interceptors.BaseAsyncInterceptor
asyncInvokeNext, asyncInvokeNext, asyncInvokeNext, asyncValue, delayedNull, delayedValue, delayedValue, invokeNext, invokeNextAndExceptionally, invokeNextAndFinally, invokeNextAndHandle, invokeNextThenAccept, invokeNextThenApply, isSuccessfullyDone, makeStage, setNextInterceptor, valueOrException
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.infinispan.commands.Visitor
visitRemoveExpiredCommand
-
Constructor Details
-
ExtendedStatisticInterceptor
public ExtendedStatisticInterceptor()
-
-
Method Details
-
visitPutKeyValueCommand
public Object visitPutKeyValueCommand(InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command) throws Throwable - Specified by:
visitPutKeyValueCommand
in interfaceVisitor
- Overrides:
visitPutKeyValueCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitRemoveCommand
public Object visitRemoveCommand(InvocationContext ctx, org.infinispan.commands.write.RemoveCommand command) throws Throwable - Specified by:
visitRemoveCommand
in interfaceVisitor
- Overrides:
visitRemoveCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitReplaceCommand
public Object visitReplaceCommand(InvocationContext ctx, org.infinispan.commands.write.ReplaceCommand command) throws Throwable - Specified by:
visitReplaceCommand
in interfaceVisitor
- Overrides:
visitReplaceCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitComputeCommand
public Object visitComputeCommand(InvocationContext ctx, org.infinispan.commands.write.ComputeCommand command) throws Throwable - Specified by:
visitComputeCommand
in interfaceVisitor
- Overrides:
visitComputeCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitComputeIfAbsentCommand
public Object visitComputeIfAbsentCommand(InvocationContext ctx, org.infinispan.commands.write.ComputeIfAbsentCommand command) throws Throwable - Specified by:
visitComputeIfAbsentCommand
in interfaceVisitor
- Overrides:
visitComputeIfAbsentCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitReadWriteKeyCommand
public Object visitReadWriteKeyCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command) throws Throwable - Specified by:
visitReadWriteKeyCommand
in interfaceVisitor
- Overrides:
visitReadWriteKeyCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitGetKeyValueCommand
public Object visitGetKeyValueCommand(InvocationContext ctx, org.infinispan.commands.read.GetKeyValueCommand command) throws Throwable - Specified by:
visitGetKeyValueCommand
in interfaceVisitor
- Overrides:
visitGetKeyValueCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitGetAllCommand
public Object visitGetAllCommand(InvocationContext ctx, org.infinispan.commands.read.GetAllCommand command) throws Throwable - Specified by:
visitGetAllCommand
in interfaceVisitor
- Overrides:
visitGetAllCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitPrepareCommand
public Object visitPrepareCommand(TxInvocationContext ctx, org.infinispan.commands.tx.PrepareCommand command) - Specified by:
visitPrepareCommand
in interfaceVisitor
- Overrides:
visitPrepareCommand
in classDDAsyncInterceptor
-
visitCommitCommand
public Object visitCommitCommand(TxInvocationContext ctx, org.infinispan.commands.tx.CommitCommand command) throws Throwable - Specified by:
visitCommitCommand
in interfaceVisitor
- Overrides:
visitCommitCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
visitRollbackCommand
public Object visitRollbackCommand(TxInvocationContext ctx, org.infinispan.commands.tx.RollbackCommand command) throws Throwable - Specified by:
visitRollbackCommand
in interfaceVisitor
- Overrides:
visitRollbackCommand
in classDDAsyncInterceptor
- Throws:
Throwable
-
getAvgPrepareRtt
@ManagedAttribute(description="Average Prepare Round-Trip Time duration (in microseconds)", displayName="Average Prepare RTT") public double getAvgPrepareRtt() -
getAvgCommitRtt
@ManagedAttribute(description="Average Commit Round-Trip Time duration (in microseconds)", displayName="Average Commit RTT") public double getAvgCommitRtt() -
getAvgRemoteGetRtt
@ManagedAttribute(description="Average Remote Get Round-Trip Time duration (in microseconds)", displayName="Average Remote Get RTT") public double getAvgRemoteGetRtt() -
getAvgRollbackRtt
@ManagedAttribute(description="Average Rollback Round-Trip Time duration (in microseconds)", displayName="Average Rollback RTT") public double getAvgRollbackRtt() -
getAvgCompleteNotificationAsync
@ManagedAttribute(description="Average asynchronous Complete Notification duration (in microseconds)", displayName="Average Complete Notification Async") public double getAvgCompleteNotificationAsync() -
getAvgNumNodesCommit
@ManagedAttribute(description="Average number of nodes in Commit destination set", displayName="Average Number of Nodes in Commit Destination Set") public double getAvgNumNodesCommit() -
getAvgNumNodesCompleteNotification
@ManagedAttribute(description="Average number of nodes in Complete Notification destination set", displayName="Average Number of Nodes in Complete Notification Destination Set") public double getAvgNumNodesCompleteNotification() -
getAvgNumNodesRemoteGet
@ManagedAttribute(description="Average number of nodes in Remote Get destination set", displayName="Average Number of Nodes in Remote Get Destination Set") public double getAvgNumNodesRemoteGet() -
getAvgNumNodesPrepare
@ManagedAttribute(description="Average number of nodes in Prepare destination set", displayName="Average Number of Nodes in Prepare Destination Set") public double getAvgNumNodesPrepare() -
getAvgNumNodesRollback
@ManagedAttribute(description="Average number of nodes in Rollback destination set", displayName="Average Number of Nodes in Rollback Destination Set") public double getAvgNumNodesRollback() -
getLocalExecutionTimeWithoutLock
@ManagedAttribute(description="Local execution time of a transaction without the time waiting for lock acquisition", displayName="Local Execution Time Without Locking Time") public double getLocalExecutionTimeWithoutLock() -
getAvgLockHoldTime
@ManagedAttribute(description="Average lock holding time (in microseconds)", displayName="Average Lock Holding Time") public double getAvgLockHoldTime() -
getAvgLocalLockHoldTime
@ManagedAttribute(description="Average lock local holding time (in microseconds)", displayName="Average Lock Local Holding Time") public double getAvgLocalLockHoldTime() -
getAvgRemoteLockHoldTime
@ManagedAttribute(description="Average lock remote holding time (in microseconds)", displayName="Average Lock Remote Holding Time") public double getAvgRemoteLockHoldTime() -
getAvgCommitTime
@ManagedAttribute(description="Average local commit duration time (2nd phase only) (in microseconds)", displayName="Average Commit Time") public double getAvgCommitTime() -
getAvgRollbackTime
@ManagedAttribute(description="Average local rollback duration time (2nd phase only) (in microseconds)", displayName="Average Rollback Time") public double getAvgRollbackTime() -
getAvgPrepareCommandSize
@ManagedAttribute(description="Average prepare command size (in bytes)", displayName="Average Prepare Command Size") public double getAvgPrepareCommandSize() -
getAvgCommitCommandSize
@ManagedAttribute(description="Average commit command size (in bytes)", displayName="Average Commit Command Size") public double getAvgCommitCommandSize() -
getAvgClusteredGetCommandSize
@ManagedAttribute(description="Average clustered get command size (in bytes)", displayName="Average Clustered Get Command Size") public double getAvgClusteredGetCommandSize() -
getAvgLockWaitingTime
@ManagedAttribute(description="Average time waiting for the lock acquisition (in microseconds)", displayName="Average Lock Waiting Time") public double getAvgLockWaitingTime() -
getAvgTxArrivalRate
@ManagedAttribute(description="Average transaction arrival rate, originated locally and remotely (in transaction per second)", displayName="Average Transaction Arrival Rate") public double getAvgTxArrivalRate() -
getPercentageWriteTransactions
@ManagedAttribute(description="Percentage of Write transaction executed locally (committed and aborted)", displayName="Percentage of Write Transactions") public double getPercentageWriteTransactions() -
getPercentageSuccessWriteTransactions
@ManagedAttribute(description="Percentage of Write transaction executed in all successfully executed transactions (local transaction only)", displayName="Percentage of Successfully Write Transactions") public double getPercentageSuccessWriteTransactions() -
getNumAbortedTxDueTimeout
@ManagedAttribute(description="The number of aborted transactions due to timeout in lock acquisition", displayName="Number of Aborted Transaction due to Lock Acquisition Timeout") public double getNumAbortedTxDueTimeout() -
getNumAbortedTxDueDeadlock
@ManagedAttribute(description="The number of aborted transactions due to deadlock", displayName="Number of Aborted Transaction due to Deadlock") public double getNumAbortedTxDueDeadlock() -
getAvgReadOnlyTxDuration
@ManagedAttribute(description="Average successful read-only transaction duration (in microseconds)", displayName="Average Read-Only Transaction Duration") public double getAvgReadOnlyTxDuration() -
getAvgWriteTxDuration
@ManagedAttribute(description="Average successful write transaction duration (in microseconds)", displayName="Average Write Transaction Duration") public double getAvgWriteTxDuration() -
getAvgAbortedWriteTxDuration
@ManagedAttribute(description="Average aborted write transaction duration (in microseconds)", displayName="Average Aborted Write Transaction Duration") public double getAvgAbortedWriteTxDuration() -
getAvgNumOfLockLocalTx
@ManagedAttribute(description="Average number of locks per write local transaction", displayName="Average Number of Lock per Local Transaction") public double getAvgNumOfLockLocalTx() -
getAvgNumOfLockRemoteTx
@ManagedAttribute(description="Average number of locks per write remote transaction", displayName="Average Number of Lock per Remote Transaction") public double getAvgNumOfLockRemoteTx() -
getAvgNumOfLockSuccessLocalTx
@ManagedAttribute(description="Average number of locks per successfully write local transaction", displayName="Average Number of Lock per Successfully Local Transaction") public double getAvgNumOfLockSuccessLocalTx() -
getAvgLocalPrepareTime
@ManagedAttribute(description="Average time it takes to execute the prepare command locally (in microseconds)", displayName="Average Local Prepare Execution Time") public double getAvgLocalPrepareTime() -
getAvgRemotePrepareTime
@ManagedAttribute(description="Average time it takes to execute the prepare command remotely (in microseconds)", displayName="Average Remote Prepare Execution Time") public double getAvgRemotePrepareTime() -
getAvgLocalCommitTime
@ManagedAttribute(description="Average time it takes to execute the commit command locally (in microseconds)", displayName="Average Local Commit Execution Time") public double getAvgLocalCommitTime() -
getAvgRemoteCommitTime
@ManagedAttribute(description="Average time it takes to execute the commit command remotely (in microseconds)", displayName="Average Remote Commit Execution Time") public double getAvgRemoteCommitTime() -
getAvgLocalRollbackTime
@ManagedAttribute(description="Average time it takes to execute the rollback command locally (in microseconds)", displayName="Average Local Rollback Execution Time") public double getAvgLocalRollbackTime() -
getAvgRemoteRollbackTime
@ManagedAttribute(description="Average time it takes to execute the rollback command remotely (in microseconds)", displayName="Average Remote Rollback Execution Time") public double getAvgRemoteRollbackTime() -
getAbortRate
@ManagedAttribute(description="Abort Rate", displayName="Abort Rate") public double getAbortRate() -
getThroughput
@ManagedAttribute(description="Throughput (in transactions per second)", displayName="Throughput") public double getThroughput() -
getAvgGetsPerROTransaction
@ManagedAttribute(description="Average number of get operations per (local) read-only transaction", displayName="Average number of get operations per (local) read-only transaction") public double getAvgGetsPerROTransaction() -
getAvgGetsPerWrTransaction
@ManagedAttribute(description="Average number of get operations per (local) read-write transaction", displayName="Average number of get operations per (local) read-write transaction") public double getAvgGetsPerWrTransaction() -
getAvgRemoteGetsPerWrTransaction
@ManagedAttribute(description="Average number of remote get operations per (local) read-write transaction", displayName="Average number of remote get operations per (local) read-write transaction") public double getAvgRemoteGetsPerWrTransaction() -
getAvgRemoteGetsPerROTransaction
@ManagedAttribute(description="Average number of remote get operations per (local) read-only transaction", displayName="Average number of remote get operations per (local) read-only transaction") public double getAvgRemoteGetsPerROTransaction() -
getRemoteGetExecutionTime
@ManagedAttribute(description="Average cost of a remote get", displayName="Remote get cost") public double getRemoteGetExecutionTime() -
getAvgPutsPerWrTransaction
@ManagedAttribute(description="Average number of put operations per (local) read-write transaction", displayName="Average number of put operations per (local) read-write transaction") public double getAvgPutsPerWrTransaction() -
getAvgRemotePutsPerWrTransaction
@ManagedAttribute(description="Average number of remote put operations per (local) read-write transaction", displayName="Average number of remote put operations per (local) read-write transaction") public double getAvgRemotePutsPerWrTransaction() -
getRemotePutExecutionTime
@ManagedAttribute(description="Average cost of a remote put", displayName="Remote put cost") public double getRemotePutExecutionTime() -
getNumberOfGets
@ManagedAttribute(description="Number of gets performed since last reset", displayName="Number of Gets") public double getNumberOfGets() -
getNumberOfRemoteGets
@ManagedAttribute(description="Number of remote gets performed since last reset", displayName="Number of Remote Gets") public double getNumberOfRemoteGets() -
getNumberOfPuts
@ManagedAttribute(description="Number of puts performed since last reset", displayName="Number of Puts") public double getNumberOfPuts() -
getNumberOfRemotePuts
@ManagedAttribute(description="Number of remote puts performed since last reset", displayName="Number of Remote Puts") public double getNumberOfRemotePuts() -
getNumberOfCommits
@ManagedAttribute(description="Number of committed transactions since last reset", displayName="Number Of Commits") public double getNumberOfCommits() -
getNumberOfLocalCommits
@ManagedAttribute(description="Number of local committed transactions since last reset", displayName="Number Of Local Commits") public double getNumberOfLocalCommits() -
getWriteSkewProbability
@ManagedAttribute(description="Write skew probability", displayName="Write Skew Probability") public double getWriteSkewProbability() -
getPercentileLocalReadOnlyTransaction
@ManagedOperation(description="K-th percentile of local read-only transactions execution time", displayName="K-th Percentile Local Read-Only Transactions") public double getPercentileLocalReadOnlyTransaction(@Parameter(name="percentile") int percentile) -
getPercentileRemoteReadOnlyTransaction
@ManagedOperation(description="K-th percentile of remote read-only transactions execution time", displayName="K-th Percentile Remote Read-Only Transactions") public double getPercentileRemoteReadOnlyTransaction(@Parameter(name="percentile") int percentile) -
getPercentileLocalRWriteTransaction
@ManagedOperation(description="K-th percentile of local write transactions execution time", displayName="K-th Percentile Local Write Transactions") public double getPercentileLocalRWriteTransaction(@Parameter(name="percentile") int percentile) -
getPercentileRemoteWriteTransaction
@ManagedOperation(description="K-th percentile of remote write transactions execution time", displayName="K-th Percentile Remote Write Transactions") public double getPercentileRemoteWriteTransaction(@Parameter(name="percentile") int percentile) -
resetStatistics
@ManagedOperation(description="Reset all the statistics collected", displayName="Reset All Statistics") public void resetStatistics() -
getAvgLocalGetTime
@ManagedAttribute(description="Average Local processing Get time (in microseconds)", displayName="Average Local Get time") public double getAvgLocalGetTime() -
getNumNodes
@ManagedAttribute(description="Number of nodes in the cluster", displayName="Number of nodes") public double getNumNodes() -
getReplicationDegree
@ManagedAttribute(description="Number of replicas for each key", displayName="Replication Degree") public double getReplicationDegree() -
getLocalActiveTransactions
@ManagedAttribute(description="Number of concurrent transactions executing on the current node", displayName="Local Active Transactions") public double getLocalActiveTransactions() -
getAvgResponseTime
@ManagedAttribute(description="Average Response Time", displayName="Average Response Time") public double getAvgResponseTime() -
getStatisticValue
@ManagedOperation(description="Returns the raw value for the statistic", displayName="Get Statistic Value") public final double getStatisticValue(@Parameter(description="Statistic name") String statName) -
getAvailableExtendedStatistics
@ManagedAttribute(description="Returns all the available statistics", displayName="Available Statistics") public final String getAvailableExtendedStatistics() -
dumpStatistics
@ManagedOperation(description="Dumps the current cache statistic values", displayName="Dump Cache Statistics") public final String dumpStatistics() -
dumpStatisticsToSystemOut
@ManagedOperation(description="Dumps the current cache statistic values to System.out", displayName="Dump Cache Statistics to System.out") public final void dumpStatisticsToSystemOut() -
dumpStatisticToFile
@ManagedOperation(description="Dumps the current cache statistic values to a file", displayName="Dump cache Statistics to file") public final void dumpStatisticToFile(@Parameter(description="The file path") String filePath) throws IOException - Throws:
IOException
-
getCacheStatisticManager
-
getAttribute
-
start
protected void start()- Overrides:
start
in classBaseCustomAsyncInterceptor
-