Name: ah-collector
Owner: NodeSource
Description: Super light wrapper around async-hooks to collect information about resources created during async operations.
Created: 2017-01-18 22:16:05.0
Updated: 2017-02-01 21:18:11.0
Pushed: 2017-02-09 19:23:49.0
Homepage: https://nodesource.github.io/ah-collector
Size: 1205
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Super light wrapper around async-hooks to collect information about resources created during async operations.
t ActivityCollector = require('ah-collector')
tion captureStack(hook, { uid, type, triggerId }, resource) {
Predicate to decide if a stack should be captured or not.
Capture only inits of the TIMERWRAP but everything of the Timeout.
turn type === 'Timeout' || (type === 'TIMERWRAP' && hook === 'init')
t collector = new ActivityCollector({
start: process.hrtime()
captureStack
nable()
imeout(ontimeout, 100)
tion ontimeout() {
llector
.processStacks()
.dump()
Needs async hooks feature, therefore build from this PR for now.
npm install ah-collector
Creates an instance of an ActivityCollector
Parameters
$0
Object$0.start
Array<Number> start time obtained via process.hrtime()
$0.stackCapturer
StackCapturer? which is used to decide if a stack
should be captured as well as to capture and process it @see
thlorenz/ah-stack-capturer
The default capturer used doesn't ever capture a stack so this feature is
turned off by default. (optional, default defaultStackCapturer
)$0.requireInit
boolean? when true
any activities whose init
hook we missed
are ignored even if we see before
, after
and/or destroy
hooks. (optional, default false
)Returns ActivityCollector instance of ActivityCollector
Enables the collection of async hooks. Needs to be called as otherwise nothing will be collected.
Returns ActivityCollector activityCollector
Disables the collection of async hooks.
Nothing will be collected until activityCollector.enable()
is called.
Returns ActivityCollector activityCollector
Clears all currently collected activity.
Returns ActivityCollector activityCollector
Returns an Array of all activities collected so far that are of the specified type(s).
Parameters
Returns Array activities matching the specified type(s)
A getter
that returns a map of all activities collected so far.
Returns Map activities
A getter
that returns an Array of all activities collected so far.
Returns Array activities
Processes all stacks that were captured for specific activities This is done in line, i.e. the actual stacks of the activity objects are modified.
Returns ActivityCollector activityCollector
Dumps all so far collected activities to the console. This is useful for diagnostic purposes.
If no arguments are provided, all activities are dumped.
Parameters
opts
Object allow tweaking which activities are dumped and how
Returns ActivityCollector activityCollector
Dumps all types in the order they were collected including id and trigger id.
Example: FSREQWRAP:id:triggerId
Static getter that denotes the type given to activities whose type is unkown since
we missed their init
event.
MIT