MyNixOS website logo
Description

Text-based interactive GHC .prof viewer.

viewprof is a text-based interactive GHC .prof viewer.

You can find a screenshot and some explanation in the README.

viewprof

Hackage Hackage-Deps Build Status

viewprof is a text-based interactive GHC .prof viewer.

screenshot

It has three display modes:

  • Aggregate cost centers view: This is the default view. It groups cost centers by their name and module name, like the middle section of .prof files.
  • Call sites view: If you press enter on a cost center, viewprof displays call sites of the cost center you selected. This view tells how much the cost center spent for each call site.
  • Modules view: If you press M, viewprof displays the module level breakdown. This view tells coarse overview of cost attribution.

Installation

stack install viewprof

On Windows

Prerequisites

How to install and launch

git clone [email protected]:maoe/viewprof.git
cd viewprof/docker
docker-machine start
docker build -t viewprof .
.\viewprof.bat path/to/file.prof

Usage

keysaction
q or escapequit the current view
j or move focus down
k or move focus up
ggmove focus to the top
Gmove focus to the bottom
Cdisplay aggregate cost center view
Mswitch to module breakdown
enterselect a cost center and display call sites
tsort by time
asort by allocation
esort by # of entries
h or ?show key bindings
ishow profile information

Acknowledgement

viewprof was originally meant to be a Haskell port of mkotha/viewprof, which is a text-based .prof viewer written in Common Lisp.

Metadata

Version

0.0.0.33

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • 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