Skip to content

djinn/tigerprof

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐯Tiger Profiler

Tiger Profiler is a code derived from Light Weight Java Profiler. Tiger Profiler is resurrection of already very good profiler. The profiler is now capable of profiling on Mac OS X and Linux. The minor amount of Intel specific code has been replaced with portable equivalent of C++.

What will tigerprof accomplish for you?

tigerprof is uses the JVM tooling interface gather telemetry about running Java Code. It generates traces which can be used to identify performance bottlenecks in the running code.

How to run tigerprof?

tigerprof requires JDK environment to compile. The code also requires C++20 capable compiler like GCC or Clang and finally make. You can compile the code

$ JAVA_HOME=/usr/local/java-11 make 

Replace JAVA_HOME with suitable path for your environment. The make builds the code in a newly created directory called build as libtigerprof.so. To run the profiler

$ java -agenpath:build/libtigerprof.so -jar spark-bench-launch-2.3.jar com.ibm.sparktc.sparkbench.sparklaunch.SparkLaunch

When the Java execution will be finished, the profiler creates a traces.txt file in current working directory.

How to make these traces actionable?

There is a repository of code by Brenden Gregg called Flamegraph. This repo contains a script which can generate visualisation from traces.txt.

$ ./stackcollapse-ljp.awk < ../traces.txt | ./flamegraph.pl > ../traces.svg

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.2%
  • Makefile 6.9%
  • Dockerfile 1.9%