Skip to content

Latest commit

 

History

History
77 lines (59 loc) · 7.95 KB

supported-technologies.md

File metadata and controls

77 lines (59 loc) · 7.95 KB

Supported technologies

Elastic Stack versions

The Elastic Distribution of OpenTelemetry Node.js (EDOT Node.js) sends data via OpenTelemetry protocol (OTLP). Since version 7.14, Elastic Observability supports OTLP natively.

Note that OpenTelemetry support is being improved in the 8.x versions of the Elastic Stack, so it is strongly recommended to be using a recent 8.x version.

Node.js versions

EDOT Node.js supports Node.js v14.18.0 and later. This follows from the OpenTelemetry JS supported runtimes.

TypeScript versions

To use this package, @elastic/opentelemetry-node, in TypeScript code requires:

Instrumentations

Name Packages instrumented Reference
@elastic/opentelemetry-instrumentation-openai openai version range >=4.19.0 <5 README
@opentelemetry/instrumentation-aws-sdk aws-sdk v2 and @aws-sdk/client-* v3 README
@opentelemetry/instrumentation-bunyan bunyan version range ^1.0.0 README
@opentelemetry/instrumentation-express express version range ^4.0.0 README
@opentelemetry/instrumentation-fastify fastify version range >=3 <5 README
@opentelemetry/instrumentation-generic-pool generic-pool version range 2 - 2.3, ^2.4, >=3 README
@opentelemetry/instrumentation-grpc @grpc/grpc-js version range ^1.0.0 README
@opentelemetry/instrumentation-hapi @hapi/hapi >=17.0.0 <21 README
@opentelemetry/instrumentation-http http module for Node.js >=14 README
@opentelemetry/instrumentation-ioredis ioredis version range >=2 <6 README
@opentelemetry/instrumentation-knex knex version range >=0.10.0 README
@opentelemetry/instrumentation-koa koa version range ^2.0.0 README
@opentelemetry/instrumentation-lru-memoizer lru-memoizer version range >=1.3 <3 README
@opentelemetry/instrumentation-memcached memcached version range >=2.2 README
@opentelemetry/instrumentation-mongodb mongodb version range >=3.3 <7 README
@opentelemetry/instrumentation-nestjs-core @nestjs/core version range >=4.0.0 README
@opentelemetry/instrumentation-net net module for Node.js >=14 README
@opentelemetry/instrumentation-pino pino version range >=5.14.0 <10 README
@opentelemetry/instrumentation-pg pg version range >=8 <9 README
@opentelemetry/instrumentation-redis-4 redis version range ^4.0.0 README
@opentelemetry/instrumentation-restify restify version range >=4.0.0 <12 README
@opentelemetry/instrumentation-router router version range 1 README
@opentelemetry/instrumentation-socket.io socket.io version range 2, >=3 <5 README
@opentelemetry/instrumentation-tedious tedious version range >=1.11.0 <=15 README
@opentelemetry/instrumentation-undici undici version range >=5.12.0 README
@opentelemetry/instrumentation-winston winston version range >1 <4 README

ECMAScript Modules (ESM)

This Distro includes limited and experimental support for instrumenting ECMAScript module imports, i.e. modules that are loaded via import ... statements and import('...') (dynamic import).

Limitations:

  • For Node.js >=20.6.0 || >=18.19.0, support for hooking imports is automatically enabled. For earlier versions of Node.js, you must manually enable the import-hook via the --experimental-loader=@elastic/opentelemetry-node/hook.mjs option, e.g.: node --experimental-loader=@elastic/opentelemetry-node/hook.mjs --require=@elastic/opentelemetry-node app.js.
  • Currently only a subset of instrumentations support ESM: express, ioredis, koa, pg, pino. See this OpenTelemetry JS tracking issue for progress.