This issue serves for tracking thesis task: Transaction analyser tool for Narayana created at the Red Hat Research site
The goal is to design and implement an application that would gather information about the transaction processing occurring within Narayana transaction manager. Narayana normally runs as part of the WildFly application server but has more integration.
Having a good solution for monitoring can help users to understand and solve issues connected with the transaction processing. Having the universal tool is more important in the present time where Narayana is integrated with many different systems as WildFly, Spring Boot, Camel or Apache Tomcat.
Why to build this?
In current times there is still bigger demand for easy managed system that can be monitored in simple form. However Narayana does not provide an easy way to monitor transaction processing. Especially if the user demands more details about content of the transaction itself. It would be great to find a guy who would do investigation and provide proof-of-concept that could be elaborated more in future and used in the project.
There is a tool NTA (Narayana Transaction Analyser) providing monitoring capabilities for Narayana but in a limited scope. The task would be investigate on the tool, in case rip of some of the functionality (or just get inspiration from that) and provide program that satisfy the new requirements.
The Narayana and WildFly code base will need to be investigated to obtain the desired transaction details. Next part will be to find ways how to present the transaction details in consumable form for the user.
The proof-of-concept application needs to provide the Java API (the fact the Narayana is integrated in different systems needs to be considered and extensibility is expected). The command line tool needs to be provided (as GUI is not always accessible) and if possible a draft of the graphic interface would be nice.
- What is JTA: https://www.infoq.com/minibooks/JTDS
- Two phase commit: https://developer.jboss.org/wiki/TwoPhaseCommit2PC
- Code of the transaction analyser https://github.com/jbosstm/transaction-analyser
- Presentation about NTA https://docs.google.com/presentation/d/1_p_EZPAHX9xH49U6ZjrES3l_QBaexSFmX9dtxvVVopI/edit?usp=sharing