Skip to content
Port of Twitter's Scala JVM-profiler to Java
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
LICENSE
README.md
pom.xml

README.md

JVM cpu profiler

A pure-java implementation of the twitter/util project's CpuProfile and related classes.

Original Scala sources:

Usage

The CpuProfile.record method will record samples of stacktrace elements and return a CpuProfile object. That object can then be written into a pprof-parseable format using CpuProfile.writeGoogleProfile.

There is a provided JAX-RS resource that makes this simple to use with an http service. For example, with a Dropwizard application:

environment.jersey().register(CpuProfileResource.class);

Which exposes the URLs /pprof/contention that detects blocked threads, and /pprof/profile that detects runnable threads. Here is an example of using curl to retrieve a profile and turn it into a PDF:

curl http://localhost:8181/pprof/contention > prof
pprof --pdf prof > profile.pdf
You can’t perform that action at this time.