Node.js
Node.js Automatic Instrumentation
Supported Versions
Odigos uses the official OpenTelemetry instrumentation libraries and SDK components, thus it supports the same Node.js versions as the OpenTelemetry Node.js.
- Node.js runtime versions 14 and above are supported.
Traces
Odigos will automatically instrument your Node.js sources to record and collect spans for distributed tracing, by utilizing the OpenTelemetry Node.js Official Instrumentation Libraries.
If you use one of the supported logger libraries, the trace id and span id will be auto-injected into your log records allowing signals correlations between logs and traces.
Instrumentation Libraries
The following npm packages will be auto instrumented by Odigos:
HTTP Frameworks
connect
versions>=3.0.0 <4
. http middleware frameworkexpress
version>=4.0.0 <5
. http web application frameworkfastify
versions>=3.0.0 <5
. http web application frameworkgraphql
versions>=14.0.0 <17
. gql query language and runtime for GraphQLhttp
node:http
http server and client moduleshttps
node:https
https server and client moduleskoa
versions>=2.0.0 <3
. http web application framework@koa/router
versions>=8.0.0
. http web application framework@hapi/hapi
versions>=17.0.0 <22
. http web application framework@nestjs/core
versions>=4.0.0 <11
. server side applications frameworkrestify
versions>=4.0.0 <12
. http web application frameworkrouter
versions>=1.0.0 <2
. http middleware router
HTTP Clients
undici
version>=5.12.0
. http client and Node.js fetch()http
node:http
http server and client moduleshttps
node:https
https server and client modules
Database Clients, ORMs, and data access libraries
aws-sdk
versions>=2.308.0 <3
. clients for various AWS services@aws-sdk/client-*
versions>=3.0.0 <4
. clients for various AWS servicescassandra-driver
versions>=4.4.0 <5
. database client library for Apache Cassandradataloader
versions>=2.0.0 <3
. data fetching layergeneric-pool
version>=2.0.0 <4
. resource pool for managing expensive resourcesioredis
versions>=2.0.0 <6
. database redis client for Redisknex
versions>=0.10.0 <4
. database SQL query builderlru-memorizer
versions>=1.3.0 <3
. function memoization using lru-cachememcached
versions>=2.2.0 <3
. database client for memcachedmongodb
version>=3.3.0 <7
. database client for MongoDBmongoose
versions>=5.9.7 <7
. database object data modeling (ODM) library for MongoDBmysql
versions>=2.0.0 <3
. database client for MySQLmysql2
versions>=1.4.2 <4
. database client for MySQLpg
versions>=8.0.0 <9
. database client for PostgreSQLpg-pool
versions>=2.0.0 <4
. database client for PostgreSQLredis
versions>=2.6.0
. database client for Redistedious
>=1.11.0 <18
. database client for Microsoft SQL Server
Messaging Systems Clients
amqplib
versions>=0.5.5 <1
. messaging client for RabbitMQkafkajs
versions>=0.1.0 <3
. messaging client for Apache Kafkasocket.io
versions>=2.0.0 <5
. messaging server implementation for Socket.IO communicationhttp
node:http
http server and client moduleshttps
node:https
https server and client modules
RPC (Remote Procedure Call)
@grpc/grpc-js
versions>=1.0.0 <2
. rpc client and server for gRPC frameworkaws-sdk
versions>=2.308.0 <3
. clients for various AWS services@aws-sdk/client-*
versions>=3.0.0 <4
. clients for various AWS services
Node.js Core Modules
dns
.node:dns
name resolution modulefs
node:fs
file system interactions modulehttp
node:http
http server and client moduleshttps
node:https
https server and client modulesnet
node:net
network API module
Loggers
Automatic injection of trace context (trace id and span id) into log records for the following loggers: