MyNixOS website logo
Description

generate pretty graphs from heap profiles.

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.10 parsing of very large files is made possible by reading the file(s) twice as Text.Lazy.

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.

Metadata

Version

0.10

Executables (1)

  • bin/hp2pretty

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows