|
|
||
|---|---|---|
| .. | ||
| src | ||
| test | ||
| .npmignore | ||
| LICENSE | ||
| README.md | ||
| package.json | ||
| tsconfig.json | ||
| tslint.json | ||
README.md
OpenTelemetry Express Instrumentation for Node.js
This module provides automatic instrumentation for express.
For automatic instrumentation see the @opentelemetry/node package.
Installation
npm install --save @opentelemetry/plugin-express
Supported Versions
^4.0.0
Usage
OpenTelemetry Express Instrumentation allows the user to automatically collect trace data and export them to their backend of choice, to give observability to distributed systems.
To load a specific plugin (express in this case), specify it in the Node Tracer's configuration.
const { NodeTracerProvider } = require('@opentelemetry/node');
const provider = new NodeTracerProvider({
plugins: {
express: {
enabled: true,
// You may use a package name or absolute path to the file.
path: '@opentelemetry/plugin-express',
}
}
});
To load all the supported plugins, use below approach. Each plugin is only loaded when the module that it patches is loaded; in other words, there is no computational overhead for listing plugins for unused modules.
const { NodeTracerProvider } = require('@opentelemetry/node');
const provider = new NodeTracerProvider();
See examples/express for a short example.
Express Plugin Options
Express plugin has few options available to choose from. You can set the following:
| Options | Type | Description |
|---|---|---|
ignoreLayers |
IgnoreMatcher[] |
Express plugin will not trace all layers that match. |
ignoreLayersType |
ExpressLayerType[] |
Express plugin will ignore the layers that match based on their type. |
For reference, here are the three different layer type:
routeris the name ofexpress.Router()middlewarerequest_handleris the name for anything thats not a router or a middleware.
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
- For help or feedback on this project, join us on gitter
License
Apache 2.0 - See LICENSE for more information.