monkit
Small App Metrics Toolkit for NodeJS/Typescript
Some custom metrics reporters and a partial port of the java instrumentor project.
Built using the metrics
module in npm.
Usage
Instrumenting Methods
Instrument an async method by giving it a name and wrapping it with instrument
:
const monkit = ;const result = await monkit; // By default, metrics will be stored in the project registry available via `monkit.getRegistry()` console; // 1
Using Decorators
Methods decorated with @instrumented
will be instrumented as ClassName.MethodName
with timing, throughput, and error tracking:
const instrumented = instrumented; @instrumented public async : ImportantThing return await ; const result = await ; // By default, metrics will be stored in the project registry available via `monkit.getRegistry()` console; // 1
Reporting Metrics
Extra Reporters include
- a
StatsdReporter
for reporting preagregated metrics as statsd gauges - a
StatusPageReporter
, which can be used to periodically send metrics to statuspage.io
At time of writing, still need to tweak monkit.Registry
to make it compatible with other reporters from the metrics
pacakge.