Skip to content

Port of Twitter's Scala JVM-profiler to Java

License

Notifications You must be signed in to change notification settings

papertrail/profiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Port of Twitter's Scala JVM-profiler to Java

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages