$ npm install @opentelemetry/instrumentation-http
This module provides automatic instrumentation for http
and https
.
For automatic instrumentation see the @opentelemetry/sdk-trace-node package.
npm install --save @opentelemetry/instrumentation-http
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 instrumentation (HTTP in this case), specify it in the Node Tracer's configuration.
const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http');
const { ConsoleSpanExporter, SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const provider = new NodeTracerProvider();
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.register();
registerInstrumentations({
instrumentations: [new HttpInstrumentation()],
});
See examples/http for a short example.
Http instrumentation 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 |
startIncomingSpanHook |
StartIncomingSpanCustomAttributeFunction |
Function for adding custom attributes before a span is started in incomingRequest |
startOutgoingSpanHook |
StartOutgoingSpanCustomAttributeFunction |
Function for adding custom attributes before a span is started in outgoingRequest |
ignoreIncomingPaths |
IgnoreMatcher[] |
Http instrumentation will not trace all incoming requests that match paths |
ignoreOutgoingUrls |
IgnoreMatcher[] |
Http instrumentation will not trace all outgoing requests that match urls |
serverName |
string |
The primary server name of the matched virtual host. |
requireParentforOutgoingSpans |
Boolean | Require that is a parent span to create new span for outgoing requests. |
requireParentforIncomingSpans |
Boolean | Require that is a parent span to create new span for incoming requests. |
Apache 2.0 - See LICENSE for more information.
© 2010 - cnpmjs.org x YWFE | Home | YWFE