Package Exports
- @opentelemetry/auto-instrumentations-node
- @opentelemetry/auto-instrumentations-node/build/src/index.js
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 (@opentelemetry/auto-instrumentations-node) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
OpenTelemetry Meta Packages for Node
This module provides a simple way to initialize multiple Node instrumentations.
Compatible with OpenTelemetry JS API and SDK 1.0+.
Installation
npm install --save @opentelemetry/auto-instrumentations-nodeUsage
OpenTelemetry Meta Packages for Node automatically loads instrumentations for Node builtin modules and common packages.
Custom configuration for each of the instrumentations can be passed to the function, by providing an object with the name of the instrumentation as a key, and its configuration as the value.
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector');
const { Resource } = require('@opentelemetry/resources');
const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');
const { SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const exporter = new CollectorTraceExporter();
const provider = new NodeTracerProvider({
resource: new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: 'basic-service',
}),
});
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
provider.register();
registerInstrumentations({
instrumentations: [
getNodeAutoInstrumentations({
// load custom configuration for http instrumentation
'@opentelemetry/instrumentation-http': {
applyCustomAttributesOnSpan: (span) => {
span.setAttribute('foo2', 'bar2');
},
},
}),
],
});
Supported instrumentations
- @opentelemetry/instrumentation-dns
- @opentelemetry/instrumentation-http
- @opentelemetry/instrumentation-grpc
- @opentelemetry/instrumentation-express
- @opentelemetry/instrumentation-koa
- @opentelemetry/instrumentation-graphql
- @opentelemetry/instrumentation-ioredis
- @opentelemetry/instrumentation-redis
- @opentelemetry/instrumentation-pg
- @opentelemetry/instrumentation-mongodb
- @opentelemetry/instrumentation-mysql
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
License
APACHE 2.0 - See LICENSE for more information.