hp2pretty

generate pretty graphs from heap profiles

https://mathr.co.uk/blog/hp2pretty.html

Version on this page:0.9
LTS Haskell 23.0:0.10.1
Stackage Nightly 2024-12-09:0.10.1
Latest on Hackage:0.10.1

See all snapshots hp2pretty appears in

BSD-3-Clause licensed by Claude Heiland-Allen
Maintained by [email protected]
This version can be pinned in stack with:hp2pretty-0.9@sha256:ad1c500fa42f830b61d090bb33d82d464ca7c949195adc05aef21a9b2d95740e,4602

Module documentation for 0.9

There are no documented modules for this package.

hp2pretty is a rewrite of hp2ps, implemented in Haskell, with the aims of being maintainable, with more flexible output, and more beautiful output. Currently hp2pretty outputs Scalable Vector Graphics (SVG) only, though PostScript (PS) is planned. Not all of hp2ps' options are implemented yet in hp2pretty.

In hp2pretty-0.9 a mode for detached key is added:

hp2pretty --key=inline *.hp
hp2pretty --key=key.txt *.hp
hp2pretty --key=- *.hp

The output file is an simple text file, that mentions additional SVG files for the legend - how you format it is up to you.

A mode for detached titles is also added:

hp2pretty --title=inline *.hp
hp2pretty --title=title.txt *.hp
hp2pretty --title=- *.hp

The output file is an simple text file, that mentions the image SVG files. You could use this for figure captions, etc.

See the examples/ directory in the source distribution for hints.

In hp2pretty-0.8 output filtering and sorting flags are added, as well as low-ink pattern fills for printing:

hp2pretty --trace=1     *.hp
hp2pretty --bands=15    *.hp
hp2pretty --sort=size   *.hp
hp2pretty --sort=stddev *.hp
hp2pretty --sort=name   *.hp
hp2pretty --reverse     *.hp
hp2pretty --pattern     *.hp

In hp2pretty-0.7 a parsing bug is fixed.

In hp2pretty-0.6 ByteString is replaced by Text, fixing bugs with Unicode.

In hp2pretty-0.5 using attoparsec and floatshow internally should give a healthy speedup.

In hp2pretty-0.4 usage changed since the previous release:

hp2pretty *.hp
hp2pretty --uniform-scale=time   *.hp
hp2pretty --uniform-scale=memory *.hp
hp2pretty --uniform-scale=both   *.hp

Colours also changed: now they are based on a hash of the cost label, which should make colours have stable semantics across program runs.