https://github.com/mariusae/heapster
production heap profiling for the JVM. compatible with google-perftools.
https://github.com/mariusae/heapster
Last synced: 10 months ago
JSON representation
production heap profiling for the JVM. compatible with google-perftools.
- Host: GitHub
- URL: https://github.com/mariusae/heapster
- Owner: mariusae
- Created: 2010-08-28T00:59:02.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2016-05-11T21:12:18.000Z (over 9 years ago)
- Last Synced: 2025-03-31T10:09:31.062Z (10 months ago)
- Language: C
- Homepage:
- Size: 81.1 KB
- Stars: 395
- Watchers: 27
- Forks: 21
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-jvm - heapster - Production heap profiling for the JVM. (Profilers)
README
[](http://travis-ci.org/mariusae/heapster)
# Heapster
Heapster provides an agent library to do heap profiling for JVM
processes with output compatible with
[Google perftools](https://github.com/gperftools/gperftools). The
goal of Heapster is to be able to do meaningful (sampled) heap
profiling in a production setting.
Currently it allows for profiling similar to the TCMalloc library,
e.g.:
$ HEAPSTER_PROFILE=/tmp/OUT java -agentlib:heapster Test
$ pprof /tmp/OUT
Welcome to pprof! For help, type 'help'.
(pprof) top
Total: 2001520 samples
2000024 99.9% 99.9% 2000048 99.9% LTest;main
1056 0.1% 100.0% 1056 0.1% Ljava/lang/Object;
296 0.0% 100.0% 296 0.0% Ljava/lang/String;toCharArray
104 0.0% 100.0% 136 0.0% Ljava/lang/Shutdown;
By default, Heapster samples every 512 kB, this can be changed with
the environment variable `HEAPSTER_SAMPLE_PERIOD` (in bytes).
This is still work in progress.
# Installation (Example)
$ make
$ cp libheapster.dylib /usr/local/lib/
# Twitter Server Integration
If you use [Twitter Server](https://github.com/twitter/twitter-server), and run your
program with heapster, you can generate runtime heap profiles like so:
$ curl 'localhost:9990/admin/pprof/heap?pause=10&sample_period=1024' > /tmp/prof
This will collect heap growth for 10 seconds, with a sampling period
of 1kB.