14 Replies Latest reply on Sep 16, 2014 9:41 AM by jesper.pedersen

    Integrate IJ Tracer and NTA tool

    zhfeng

      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

      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:

      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