• Stars
    star
    395
  • Rank 109,040 (Top 3 %)
  • Language
    C
  • Created about 14 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

production heap profiling for the JVM. compatible with google-perftools.

Build Status

Heapster

Heapster provides an agent library to do heap profiling for JVM processes with output compatible with Google perftools. 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, 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.

More Repositories

1

trickle

Trickle is a userland bandwidth shaper for Unix-like systems.
C
560
star
2

hummingbird

no bullshit, minimalistic HTTP load generator
C
70
star
3

gitfiles

Gitfiles provides support for browsing Git repositories inside Acme.
C
37
star
4

pingrf

RF stack for the Animas OneTouch Ping insulin pump
C
36
star
5

thrift-0.5.0-finagle

finagle support for thrift 0.5.0
C++
32
star
6

match

pattern matching for python
Python
26
star
7

ocaml-rtree

an R-tree implementation in OCaml
OCaml
24
star
8

bert

Obsolete, see: https://github.com/feuerbach/bert
Haskell
24
star
9

devdrawserver

a server version of p9p's devdrawβ€”sadly needed as it's not a real file server
C
23
star
10

make-emacs

simple, self-contained, relocatable emacs
18
star
11

ocaml-twitterstream

twitter streaming library for ocaml
OCaml
17
star
12

mustache.scala

mustache implementation for scala.
Scala
11
star
13

sstable

sstables for haskell
Haskell
11
star
14

geohash

a geohash implementation in Haskell
Haskell
10
star
15

tune

Parameter tuning models for Loop
Python
9
star
16

cwm

cwm window manager
8
star
17

ocaml-geohash

OCaml
8
star
18

hs-twitterstream

Twitter Streaming API for Haskell
Haskell
8
star
19

edit

A fuzz file finder/plumber for acme
Go
6
star
20

ddb

ddb is a document database for django
6
star
21

tools

Various day-to-day tools.
Go
5
star
22

oacme

OCaml library for programming the Acme editor
OCaml
4
star
23

simplenote-hs

Haskell API for Simplenote
Haskell
4
star
24

ezq

Easy Queue -- a task queue, meant for creating workflows, written in Haskell
Haskell
3
star
25

heroku-buildpack-ocaml

OCaml buildpack for Heroku
Shell
3
star
26

3sync

an S3 bucket syncer. not much more.
Haskell
2
star
27

commons-pool

apache commons pool w/ some synchronization changes
Java
2
star
28

carbgpt

Estimate meal carb contents with GPT
Python
2
star
29

cassandra

plugins for cassandra
Java
2
star
30

basal

Go
2
star
31

progress

simple progress bar with "ETA" for haskell
Haskell
2
star
32

GeoRuby

GeoRuby with some fixes
Ruby
1
star
33

acmegpt

GPT chat for acme
Go
1
star