[jboss-dev-forums] [JBoss Transactions Development] - TransactionMonitoringAndVisualization
Paul Robinson
do-not-reply at jboss.com
Mon Jan 14 11:39:30 EST 2013
Paul Robinson [https://community.jboss.org/people/paul.robinson] modified the document:
"TransactionMonitoringAndVisualization"
To view the document, visit: https://community.jboss.org/docs/DOC-48255
--------------------------------------------------------------
h1. Transaction Monitoring and Visualization
The purpose of this project is to create a tool for monitoring the status of in-flight and complete transactions. The main aims of the tool are to help debug transaction related issues and also to educate the developer of transactional applications. Essentially, the tool monitors a running system and produces a list of all transactions. A user may then select a particular transaction to see in more detail the participants involved in the transaction, the outcome of the transaction and the participants that influenced the outcome. Ideally the tool would be visual, showing a diagramatic view of a transaction. However, early versions may be tabular to allow more time to be spent improving functionality.
A few diagrams should give you an idea of what the tooling could produce:
https://community.jboss.org/servlet/JiveServlet/showImage/20113/TXVisualCommitted%282%29.png https://community.jboss.org/servlet/JiveServlet/downloadImage/20113/TXVisualCommitted%282%29.png
Here we can see that a transaction was begun on Server1. It enlisted a DB and JMS queue locally and invoked a remote service on Server2. A second resource (DB2) was enlisted on Server2.
https://community.jboss.org/servlet/JiveServlet/showImage/20114/TXVisualRollback.png https://community.jboss.org/servlet/JiveServlet/downloadImage/20114/TXVisualRollback.png
In this example we can see that the transaction rolled back because DB2 voted rollback.
Other possible features:
* *List Transactions*. List all logged transactions with a summary of the outcome (Committed, rolled back, heuristic).
* *Multiple Transaction Types.* Somehow depict the type of transaction (JTS, WS-AT, REST-AT, etc)
* *Display Bridges*. Display when a transaction is bridged from one type to another
* *In flight Transactions*. More useful for long running transactions; display the current status of each participant and update the display in real-time as the status changes.
* *Heuristics*. Display any resources that made a heuristic decsion and what that decision was.
* *Recovery Status*. Show which resources crashed and the status of those resources already committed or recovered.
h4. Potential Solution
Use Byteman rules to log the required information on each server. The log can then be parsed by the visualization tool. The benefit of this approach is that you should be able to hook into any code in the TM. Also it it easy to turn on and off the tool so that it doesn't add overhead in production.
--------------------------------------------------------------
Comment by going to Community
[https://community.jboss.org/docs/DOC-48255]
Create a new document in JBoss Transactions Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2041]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20130114/3040876f/attachment.html
More information about the jboss-dev-forums
mailing list