@maxbrunsfeld/flame-graph
Profile a process or command and produce a flame graph
Last updated 8 years ago by maxbrunsfeld .
MIT · Original npm · Tarball · package.json
$ cnpm install @maxbrunsfeld/flame-graph 
SYNC missed versions from official npm registry.

flame-graph

Build Status

This library makes it easy to profile a process with dtrace on macOS and to format the results as a Flame Graph.

flame graph example

To use this tool within Atom, try the flame-graph Atom package.

Installation

npm install @maxbrunsfeld/flame-graph

Command Line Usage

To profile a running process:

$ generate-flame-graph -p $PID_TO_PROFILE

To stop profiling, kill the process with <kbd>Control</kbd>+<kbd>C</kbd>.

To create and profile a child process with a given command:

$ generate-flame-graph -c './test arg1 arg2'

Often, you're only interested in profiling a certain function (or functions). You can do this using the optional -f/--functions flag:

$ generate-flame-graph -p $PID --functions 'function1 function2'

Programmatic Usage

All of the functionality shown above is accessible programatically.

const {
  generateFlameGraphForCommand,
  generateFlameGraphForProcess
} = require('@maxbrunsfeld/flame-graph')

async function test1 () {
  // Create and profile a child process
  console.log(await generateFlameGraphForCommand(
    './test arg1 arg2'
    {
      functionNames: ['function1', 'function2']
    }
  ))

  // Profile a running process
  const flameGraph = generateFlameGraphForProcess(
    pidToProfile,
    {
      functionNames: ['function1', 'function2']
    }
  )

  setTimeout(() => flameGraph.stop(), 100)
  console.log(await flameGraph.html)
}

Current Tags

  • 0.1.9                                ...           latest (8 years ago)

10 Versions

  • 0.1.9                                ...           8 years ago
  • 0.1.8                                ...           8 years ago
  • 0.1.7                                ...           8 years ago
  • 0.1.6                                ...           8 years ago
  • 0.1.5                                ...           8 years ago
  • 0.1.4                                ...           8 years ago
  • 0.1.3                                ...           8 years ago
  • 0.1.2                                ...           8 years ago
  • 0.1.1                                ...           8 years ago
  • 0.1.0                                ...           8 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 1
Last Month 0
Dependencies (3)
Dev Dependencies (1)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |