ah-fs
Tracks async hook events related to file system operations.
Installation
npm install ah-fs
FileSystemActivityCollector
Instantiates a FileSystemActivityCollector.
Extends ActivityCollector and thus
exposes the same public
API with added
functionality.
Parameters
$0.start
Array<number> the start time of the process, i.e. the result of process.hrtime()
$0.stackCapturer
StackCapturer? see ah-stack-capturer which
configures how and when stacks traces are captured and processed.By default a StackCapturer is used that captures stacks for all events for
file system related types: FSREQWRAP
, FSREQUESTWRAP
(optional, default StackCapturer
)$0.bufferLength
number? determines how many elements of Buffers are
captured. By default not Buffer data is captured. (optional, default 0
)$0.stringLength
number? determines how much of each string is
captured. By default no string data is captured. (optional, default 0
)$0.captureArguments
boolean? if true
arguments of callbacks
are captured when they are processed. (optional, default false
)$0.captureSource
boolean? if true
the source code of callbacks
is captured when they are processed. (optional, default false
)
fileSystemActivityCollector.fileSystemActivities
Getter that returns all activities related to file system operations.
Returns Map<string, object> fileSystemActivities
fileSystemActivityCollector.cleanAllResources
Cleans up all captured resources which means that they are processed,
meaningful data extracted and the reference to the actual resource removed
so it can be GCed.
Resources are cleaned during after
and destroy
events, therefore
calling this function only affects those resources for which none of these
events have fired yet.
Returns FileSystemActivityCollector fileSystemActivityCollector
fileSystemActivityCollector.stringifyBuffers
Finds all buffers that are part of the resources, including arguments
passed to callbacks and stringifies their value for the supplied
encodings.
Parameters
encodings
Array<string>? specified for which encodings to create
strings. In order to creates strings for all encodings, pass
stringify-buffer.encodings (optional, default 'utf8','hex'
)
Returns FileSystemActivityCollector fileSystemActivityCollector
License
MIT