Skip to content

eagleshine/jcalltracer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JCallTracer is a tool to generate Sequence Diagrams for big and multi-threaded Java applications. Large Java application themselves use a lot of RAM, leaving little space for a JVMTI agent to maintain its own data-structures to trace the calls.

This tool works ( experimental at the moment ), by offloading much of the internal data-structures to disk using squential writes. Sequential writes are fast!

Parts of this project are based on the code from Java Call Tracer

How to build?

  • Prerequisites:

    • JDK v5.0 +
    • GNU C++ compiler ( g++ )
    • GNU Make tool
    • Ruby 1.9
    • Ant - Java build tool
  • Set the JDK_HOME environment variable:

    $ export JDK_HOME=/usr/lib/jvm/java-6-openjdk-amd46

  • Now invoke Make

    $ make

  • This is your agent: libjct.so

    $ java -agentpath:./libjct.so com.test.HelloWorld

  • Checking out the tool

    Simply invoke the test script

    $ sh bin/test.sh

    OR

    $ javac test-src/com/test/HelloWorld.java $ java -agentpath:./libjct.so=filterList=com.test,traceFile=calltrace.log -cp test-src com.test.HelloWorld

    Loading agent: libjct

    Hello World!

    12 saleem

    Now view SVG files in Firefox

    $ firefox output/

Releases

No releases published

Packages

No packages published