@mzahor-test-org/open-telemetry-http
v0.0.15
Published
OpenTelemetry http automatic instrumentation package.
Downloads
29
Readme
OpenTelemetry HTTP Instrumentation for Node.js
This module provides automatic instrumentation for http
.
For automatic instrumentation see the @opentelemetry/node package.
Installation
npm install --save @opentelemetry/plugin-http
Usage
OpenTelemetry HTTP 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 (HTTP in this case), specify it in the Node Tracer's configuration.
const { NodeTracerProvider } = require('@opentelemetry/node');
const provider = new NodeTracerProvider({
plugins: {
http: {
enabled: true,
// You may use a package name or absolute path to the file.
path: '@opentelemetry/plugin-http',
// http plugin options
}
}
});
To load all of 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/http for a short example.
Http Plugin Options
Http plugin has few options available to choose from. You can set the following:
| Options | Type | Description |
| ------- | ---- | ----------- |
| applyCustomAttributesOnSpan
| HttpCustomAttributeFunction
| Function for adding custom attributes |
| requestHook
| HttpRequestCustomAttributeFunction
| Function for adding custom attributes before request is handled |
| responseHook
| HttpResponseCustomAttributeFunction
| Function for adding custom attributes before response is handled |
| ignoreIncomingPaths
| IgnoreMatcher[]
| Http plugin will not trace all incoming requests that match paths |
| ignoreOutgoingUrls
| IgnoreMatcher[]
| Http plugin will not trace all outgoing requests that match urls |
| serverName
| string
| The primary server name of the matched virtual host. |
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.