A pure-java implementation of the twitter/util project's CpuProfile and related
classes.
Original Scala sources:
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