1.1.0 • Published 8 years ago

@ramitos/flamegraph v1.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

flamegraph build status

testling badge

Generates flamegraphs with Node.js or in the browser.

cat instruments-callgraph.csv | flamegraph -t instruments > flamegraph.svg

Try the online flamegraph app

assets/flamegraph.gif

Installation

npm install flamegraph

Usage

Requires Node.js version 0.11.13 or higher.

flamegraph <options>

Generates a flamegraph from the callgraph data of the given `inputtype` that is streamed into it.

OPTIONS:

  --inputtype -t      the type of callgraph 'instruments | perf | cpuprofile'

  --file -f           the input csv file (may also be piped)
  --output -o         the output svg file (may also be displayed in stdout)
  --map -m            a mapping / symbols file, named perf-<pid>.map, generated using node --perf-basic-prof

  --fonttype          font family used                  default: 'Verdana'
  --fontsize          base text size                    default: 12
  --imagewidth        max width, pixels                 default: 1200
  --frameheight       max height is dynamic             default: 16.0
  --fontwidth         avg width relative to fontsize    default: 0.59
  --minwidth          min function width, pixels        default: 0.1
  --countname         what are the counts in the data?  default: 'samples'
  --colors            color theme                       default: 'hot'
  --bgcolor1          background color gradient start   default: '#eeeeee'
  --bgcolor2          background color gradient stop    default: '#eeeeb0'
  --timemax           (override the) sum of the counts  default: Infinity
  --factor            factor to scale counts by         default: 1
  --hash              color by function name            default: true
  --titletext         centered heading                  default: 'Flame Graph'
  --nametype          what are the names in the data?   default: 'Function:'

  --removenarrows     removes narrow functions instead of adding a 'hidden' class   default: true
  --internals         include internal functions        default: false
  --optimizationinfo  include optimization indicators   default: false

  --help      -h  print this help message

EXAMPLE:

  cat instruments-callgraph.csv | flamegraph -t instruments > flamegraph.svg

  flamegraph -t instruments -f instruments-callgraph.csv -m perf-4499.map -o flamegraph.svg

The input data needs to be generated as follows:

API

generated with docme

Kudos

This library is an adaptation of @brendangregg's FlameGraph perl scripts.

License

MIT