14 Replies Latest reply on Sep 16, 2014 9:41 AM by Jesper Pedersen

    Integrate IJ Tracer and NTA tool

    Amos Feng Apprentice

      The 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









      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:

      1. Use js library instead of JSF. I hear from Amos that we had started to use Angular.js + Rest.
      2. Maybe use Java File NIO.2 since Tailer of commons.io use own thread and blocked inside.


      Current Works:

      1. [NTA-79] write a demo or a unit test with enable the IJ tracer - JBoss Issue Tracker
      2. [NTA-80] make sure the demo and tests work with the lastest wildfly 9.0.0.Alpha1 - JBoss Issue Tracker
      3. [NTA-81] Investigate the Java File NIO to replace the commons-io - JBoss Issue Tracker


      tomjenkinsonjeff.zhang robinpau jalpedersen