breqd
v1.0.0
Published
Builtin modules REQuire Durations
Downloads
2
Maintainers
Readme
breqd
Builtin modules REQuire Durations
This library measures the duration of require()
on Node.js' builtin modules.
Usage
CLI usage
$ npx breqd
...
{ moduleName: 'tty', duration: 3822 },
{ moduleName: 'diagnostics_channel', duration: 3410 },
{ moduleName: 'url', duration: 3151 }
]
File generated by breqd: breqd-node-v20.17.0-darwin-x64.json
Open it on https://ui.perfetto.dev!
Opening the generated file on https://ui.perfetto.dev looks like this.
Programmatic usage
import {
ModuleDurationsMap,
ModuleDuration,
getModuleDurations,
sortModuleDurations,
} from 'breqd';
const moduleDurations: ModuleDurationsMap = getModuleDurations();
const sortedModuleDurations: ModuleDuration[] = sortModuleDurations(moduleDurations);
console.log(sortedModuleDurations);
// [
// { moduleName: 'repl', duration: 4989944 },
// { moduleName: 'assert', duration: 3411434 },
// { moduleName: 'http2', duration: 2925764 },
// ...
// ]
API
getModuleDurations()
- Returns
ModuleDurationsMap
:index
(string) - The module name.- value (number) - The duration of
require()
on the module in nanoseconds.
Measures the duration of require()
on all builtin modules of the running Node.js process and returns it.
sortModuleDurations()
moduleDurations
(ModuleDurationsMap) - The module-duration object fromgetModuleDurations()
.- Returns
ModuleDuration[]
:moduleName
(string) - The module name.duration
(number) - The duration ofrequire()
on the module in nanoseconds.
Returns a sorted array of all the builtin module require()
durations in descending order of durations.
convertModuleDurationstoTEF()
moduleDurations
(ModuleDuration[]) - The module-duration object fromsortModuleDurations()
.- Returns
TEF[]
:name
(string) - The builtin module name.cat
(string) - The event category.ph
(string) - The event type.pid
(number) - The process ID.ts
(number) - The tracing clock timestamp of the event.dur
(number) - The duration ofrequire()
on the module in milliseconds.
Converts the sorted array of all the builtin module require()
durations into Chrome's Trace Event Format, so that it can be viewed on https://ui.perfetto.dev.