@opentelemetry/instrumentation-dataloader
v0.38.0
Published
OpenTelemetry instrumentation for `dataloader` data fetching layer
Readme
OpenTelemetry instrumentation for dataloader
This module provides automatic instrumentation for the injection of trace context to dataloader.
If total installation size is not constrained, it is recommended to use the @opentelemetry/auto-instrumentations-node bundle with @opentelemetry/sdk-node for the most seamless instrumentation experience.
Compatible with OpenTelemetry JS API and SDK 1.0+.
Installation
npm install --save @opentelemetry/instrumentation-dataloaderSupported Versions
dataloaderversions>=2.0.0 <3
Usage
const { NodeSDK } = require('@opentelemetry/sdk-node');
const { DataloaderInstrumentation } = require("@opentelemetry/instrumentation-dataloader");
const sdk = new NodeSDK({
instrumentations: [
new DataloaderInstrumentation(),
],
});
sdk.start();
process.once('beforeExit', async () => { await sdk.shutdown(); });Dataloader Instrumentation Options
Dataloader instrumentation has some configuration options
| Options | Type | Description |
| ------------------- | --------- | --------------------------------------------------------------------------------------- |
| requireParentSpan | boolean | Require a parent span in order to create dataloader spans, default when unset is false. |
Spans created
Each call to .load or .loadMany will create a child span for the current active span.
The batch load function of the dataloader also creates a span, which links to spans created as part of .load and .loadMany, it is a child span of whatever the active span is during which the dataloader is created.
Semantic Conventions
This package does not currently generate any attributes from semantic conventions.
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 in GitHub Discussions
License
Apache 2.0 - See LICENSE for more information.
