Package Exports
- epsagon
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (epsagon) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Epsagon Instrumentation for Node.js
This package provides an instrumentation to Node.js code running on functions for collection of distributed tracing and performance monitoring.
Installation
From your project directory:
npm install --save epsagon
Getting started
Simply use the wrapper to send traces from your code:
const epsagon = require('epsagon');
epsagon.init({
token: 'my-secret-token',
appName: 'my-app-name',
metadataOnly: false, // Optional, send more trace data
});
function handler(event, context, callback) {
callback(null, 'It worked!')
}
handler = epsagon.lambdaWrapper(handler)
Custom labels
You can add custom labels to your traces. Filters can later be used for filtering traces that contains specific labels:
function handler(event, context, callback) {
epsagon.label('myCustomLabel', 'labelValue');
callback(null, 'It worked!')
}
Custom errors
You can set a trace as an error (although handled correctly) by catching an error:
function handler(event, context, callback) {
try {
// something bad happens
} catch (err) {
epsagon.setError(err);
}
callback(null, 'It worked!')
}
Or manually specify Error object:
function handler(event, context, callback) {
epsagon.setError(Error('My custom error'));
callback(null, 'It worked!')
}
Express application
If you're running express.js application on any non Lambda environment, you can stiil use Epsagon! You can accomplish that with the following example:
const express = require('express');
const epsagon = require('epsagon');
epsagon.init({
token: 'my-secret-token',
appName: 'my-app-name',
metadataOnly: false,
});
const app = express()
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(3000)
Copyright
Provided under the MIT license. See LICENSE for details.
Copyright 2018, Epsagon