flame-graph
This library makes it easy to profile a process with dtrace on macOS and to format the results as a Flame Graph.
To use this tool within Atom, try the flame-graph Atom package.
Installation
npm install @maxbrunsfeld/flame-graphCommand Line Usage
To profile a running process:
$ generate-flame-graph -p $PID_TO_PROFILETo stop profiling, kill the process with Control+C.
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)
}
Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

