Skip to content

Latest commit

 

History

History

opentelemetry-node

Elastic Distribution of OpenTelemetry Node.js

Warning

The Elastic Distribution of OpenTelemetry Node.js is not yet recommended for production use. Functionality may be changed or removed in future releases. Alpha releases are not subject to the support SLA of official GA features.

We welcome your feedback! You can reach us by opening a GitHub issue or starting a discussion thread on the Elastic Discuss forum.

The Elastic Distribution of OpenTelemetry Node.js (EDOT Node.js) is a lightweight wrapper around the OpenTelemetry SDK for Node.js that makes it easier to get started using OpenTelemetry in your Node.js applications, especially if you are using Elastic Observability as your observability solution.

Note

For more details about OpenTelemetry distributions in general, visit the OpenTelemetry documentation.

With EDOT Node.js you have access to all the features of the OpenTelemetry SDK for Node.js plus:

  • Access to SDK improvements and bug fixes contributed by the Elastic team before the changes are available upstream in the OpenTelemetry JavaScript repositories.
  • A single package that includes several OpenTelemetry packages as dependencies, so you only need to install and update a single package (for most use cases). This is similar to OpenTelemetry's @opentelemetry/auto-instrumentations-node package.

Use EDOT Node.js to start the OpenTelemetry SDK with your Node.js application to automatically capture tracing data, performance metrics, and logs. EDOT Node.js will automatically instrument popular modules used by your service, and send the data to your configured observability backend using the OpenTelemetry protocol (OTLP).

Ready to try out EDOT Node.js? Follow the step-by-step instructions in Get started.

Install

npm install --save @elastic/opentelemetry-node

Run

node -r @elastic/opentelemetry-node my-service.js

Read the docs

Limitations

We expect to support most every instrumentation included in @opentelemetry/auto-instrumentations-node. However, currently only a subset is supported. See the supported instrumentations here.