CloudTran Home

 
  
<< Back Contents  >  9.  Monitoring Cloudtran-Coherence Transactions Forward >>

9.3 MBeans and JConsole

The OC Monitor and the log Operation timers are not the only way to access statistics about the run. There are statistics published in MBeans which are picked up by the OC Monitor and you can access the values directly using JConsole. Some values were added and later found not to be that useful, so I won't document them here and they may or may not continue to be available in the future.

Each node publishes an MBean giving various statistics about itself. The type of bean published depends on the type of node - application (client), manager or isolator. Unlike with the OC Monitor or the Operation timers, there are no aggregated values for the clients or managers accessible through this route.

 9.3.1  Access
 9.3.2  Viewing with JConsole

9.3.1  Access

To access the bean without using the OC Monitor it is necessary to switch on standard Coherence JMX management. One way to do this is to use the following modifiers when starting up each node:

-Dcom.sun.management.jmxremote -Dtangosol.coherence.management=all -Dtangosol.coherence.management.remote=true

This will allow both local and remote access to the JMX nodes. If you only wanted to allow local access:

-Dtangosol.coherence.management.remote=false
9.3.2  Viewing with JConsole

JConcole is a jmx management application that comes with the JDK. The executable can be found in the JDK_HOME/bin directory and if you have that in the path you can start it up by typing jconsole at the command prompt (alternatively, prepend the full path).

The beans that hold the statistics are IsolatorBean, CoherenceCoh and ClientBean for the Isolator, Manager and Client nodes respectively. In JConsole connect to the relevant process, using local processes if the node is running on the same computer or more likely remote process. The name of the process you will connect to depends on how the process was started. If you started it in Eclipse, check the Run Configuration. If the coherence management parameters above are set, you should be able to connect.

Selecting the MBean tab and opening up the Cloudtran tree will give you access to the local node running on the process. If there are other nodes running on the same machine, you could look for them under the Coherence tree, if you were looking for machine related issues.

 

 

ClientBean

TxPerSec

The number of transactions per second as seen from the client application node.

StartInvokeTimeAverage

The average length of time it takes to start a new transaction over a refresh period (by default 1 second)

MaxStartInvokeTime

The maximum length of time it takes to start a new transaction over a refresh period

MinStartInvokeTime

The minimum length of time it takes to start a new transaction over a refresh period

CommitInvokeTimeAverage

The average length of time it takes to commit a transaction over a refresh period (by default 1 second)

MaxCommitInvokeTime

The maximum length of time it takes to commit a transaction over a refresh period

MinCommitInvokeTime

The minimum length of time it takes to commit a transaction over a refresh period

StartInvokePending

The number of transactions for which a start new request has been made, but is still waiting on the response.

CommitInvokePending

The number of transactions for which a commit has been issued, but is still waiting on the response.

StartInvokePSpike

The maximum number of transactions during the last refresh period for which a start new request has been made, but is still waiting on the response.

CommitInvokePSpike

The maximum number of transactions during the last refresh period for which a commit has been issued, but is still waiting on the response.

 

 

IsolatorBean

ObjectAlreadyOkayToPersist

Total number of times that a manager asked the isolator whether a transaction was okay to persist, but it was already marked as that.

InvalidObjectTypeInPlay

Total number of times that a manager asked the isolator whether a transaction was okay to persist, but it had already been requested.

ObjectAlreadyGone

Total number of times that the isolator received a request to release an object, but it had already been unlocked.

DifferentObjectNowFirst

Total number of times that an object was requested to be unlocked at the Isolator by one transaction but another transaction was locking it.

ObjectAlreadyRequested

Total number of times that a manager asked the isolator whether a transaction was okay to persist, but it had already been requested.

 

 

CoherenceCoh (the manager bean)

   

commitProcessTimeAverage

The average local commit time on the manager (ms) during the last refresh period.

minCommitProcessTime

The minimum local commit time on the manager (ms) during the last refresh period.

maxCommitProcessTime

The maximum loacl commit time on the manager (ms) during the last refresh period.

writeDtxinfoTimeAverage

The average time taken (ms) to write the transaction status to the cache during the last refresh period.

minWriteDtxinfoTime

The minimum time taken (ms) to write the transaction status to the cache during the last refresh period.

maxWriteDtxinfoTime

The maximum time taken (ms) to write the transaction status to the cache during the last refresh period.

dbTxTimeAverage

The average time taken (ms) to send the transaction to the database during the last refresh period.

minDbTxTime

The minimum time taken (ms) to send the transaction to the database during the last refresh period.

maxDbTxTime

The maximum time taken (ms) to send the transaction to the database during the last refresh period.

dCAInvokeTimeAverage

The average distributed commit time on the manager (ms) during the last refresh period.

minDCAInvokeTime

The minimum distributed commit time on the manager (ms) during the last refresh period.

maxDCAInvokeTime

The maximum distributed commit time on the manager (ms) during the last refresh period.

m2iRequestTimeAverage

The average time to call a request on the isolator (ms) during the last refresh period.

minM2iRequestTime

The minimum time to call a request on the isolator (ms) during the last refresh period.

maxM2iRequestTime

The maximum time to call a request on the isolator (ms) during the last refresh period.

m2iRequestPending

The number of requests made to the isolator to there has not yet been a response.

invokeDCAPending

The number of started but incomplete distributed commits.

dbTxPending

The number of started but incomplete database transactions.

m2iRequestPSpike

The peak number of requests made to the isolator to which there had been no response, during the current refresh period.

invokeDCAPSpike

The peak number of started but incomplete distributed commits, during the current refresh period..

dbTxPSpike

The peak number of started but incomplete database transactions, during the current refresh period..

open

Total of transactions started by a client on this manager, which have not had a commit request.

committing

Total of transactions on this manager which have started to commit but have not started to persist.

persisting

Total of incomplete transactions on this manager which have started to persist.

txStartedTotal

The total number of transactions started since the beginning of the run.

txCommittedTotal

The total number of transactions committed since the beginning of the run.

txPersistedTotal

The total number of transactions persisted since the beginning of the run.

txAvailableToPersistQueueSize

Several threads send persistence information to each database, taking that information from a queue. This is the size of the queue, which should only grow if more transactions are committed than can be persisted.

txLogSize

The size in bytes of all transaction logs written to the disk since the TxB started.

logQueueSize

The current number of transactions waiting to be logged to the disk.

 

 

Copyright (c) 2008-2013 CloudTran Inc.