PerfPro: Node.js performance profiler
PerfPro is a wrapper for the high-resolution Node.js Performance measurement API.
PerfPro objects are initialized with a name so you can record and analyse my-app-or-module performance without affecting another-app-or-module. Two or more PerfPro objects initialized with the same name share data across a whole application.
Installation
npm install perfpro
Example
import { PerfPro } from 'perfpro';
const perf = new PerfPro('my-app');
perf.mark('process-data');
perf.mark('process-data');
console.log( perf.duration('process-data') );
console.log( perf.allDurations() );
perf.clear('process-data');
perf.clear();
console.log( perf.now() );
API
new PerfPro(appName)
Creates a new performance profiler instance.
appName (string): the application/namespace name (used to identify marks).
mark(name)
Records a performance mark. Call twice with the same name to set start and end.
name (string): the mark name
duration(name)
Returns the duration in milliseconds between the first and last mark made. If only one mark exists, it measures from the first mark to now.
name (string): the mark name.
- returns:
number | undefined
allDurations(limit, omit)
Returns an array of { name, duration } objects for all marks.
limit (array, optional): names to include
** omit (array, optional): names to exclude
clear(name)
Clears marks for the app.
name (string, optional): mark name. Pass nothing to to clear all marks for the app.
now()
Returns time since application started.