Integrate IJ Tracer and NTA tool
zhfeng Sep 9, 2014 10:28 PMThe IronJacamar tracer produces machine-readable codes at a special TRACE log category at key points during the entire interaction of the ConnectionEventListener making it easy to apply tooling of the data collected. see http://www.ironjacamar.org/doc/roadto12/tracer.html
NTA (Narayana Transaction Analyser)
is a tool for helping to diagnose issues with JTA and JTS transactions in WildFly and JBoss EAP 6.
Jeff Zhang thinks
I think NTA and IJTracer have different goal:
1. NTA try to show all transaction event and tell user what's happened if tx has problem.
2. IJTracer is tool around 'ConnectionEventListener' and display invoke flow.
Q1: What's requirement and what do you see if we integrate them?
Now we are trying to understand the IJ Tracer origin data http://www.ironjacamar.org/doc/roadto12/tracer-example.html
IJTRACER-TxLog-3-1400076333382-578a5496-
IJTRACER-TxLog-22-1400076333383-578a5496-
IJTRACER-TxLog-40-1400076333384-578a5496-e0fab91
IJTRACER-TxLog-41-1400076333386-578a5496-e0fab91
IJTRACER-TxLog-32-1400076333387-578a5496-
IJTRACER-TxLog-13-1400076333388-578a5496-
Q2: What's the means of the third field (3, 22,40)?
The format is defined by the TraceEvent class:
ironjacamar/TraceEvent.java at 1.2 · ironjacamar/ironjacamar · GitHub
Q3: The fifth field looks like the object reference of ConnectionListener and is it possible to associate it to a transaction ? Maybe it need to parse the more JCA TRACE logs ?
You need to parse the 2x (ENLIST) + 3x (DELIST) opcodes (TraceEvent.parse(s))
The IJ applications that uses the tracer data are here:
ironjacamar/as/src/main/java/org/jboss/jca/as/tracer at 1.2 · ironjacamar/ironjacamar · GitHub
Q4: How to generate the image by using the java codes ?
The HTML output from tracer-report.sh explain how to run the command.
Q5: integrate the IJ tracer sequence diagram and the NTA txgraph ?
And 2 suggestion for NTA:
- Use js library instead of JSF. I hear from Amos that we had started to use Angular.js + Rest.
- Maybe use Java File NIO.2 since Tailer of commons.io use own thread and blocked inside.
Current Works:
- [NTA-79] write a demo or a unit test with enable the IJ tracer - JBoss Issue Tracker
- [NTA-80] make sure the demo and tests work with the lastest wildfly 9.0.0.Alpha1 - JBoss Issue Tracker
- [NTA-81] Investigate the Java File NIO to replace the commons-io - JBoss Issue Tracker