Supported Node.js libraries and frameworks

Validated libraries and frameworks

The following libraries and frameworks are supported by Observe by Snowflake APM and work with all Observe by Snowflake APM features.

Database Client

Observe by Snowflake supports the following Node.js database client libraries and services for APM instrumentation:

Library nameSupported versionsTrace ExplorerCatalogService InspectorRED MetricsDatabase StatementsService Maps
mongodb (native driver)>= 3.3.0, < 8✅✅✅✅✅✅
pg (PostgreSQL)>= 8.0.3, < 9✅✅✅✅✅✅

ORM

Observe by Snowflake supports the following Node.js ORM libraries and services for APM instrumentation:

Library nameSupported versionsTrace ExplorerCatalogService InspectorRED MetricsDatabase StatementsService Maps
knex>= 0.10.0,
< 4
✅✅✅✅✅✅
mongoose>= 5.9.7,
< 10
✅✅✅✅✅✅
Prisma (@prisma/client)>= 5.0.0✅✅✅✅✅✅

Web / HTTP Server

Observe by Snowflake supports the following Node.js HTTP server libraries and services for APM instrumentation:

Library nameSupported versionsTrace ExplorerCatalogService InspectorRED MetricsDeploymentsService MapsError & Exception Tracking
Express>= 4.0.0,
< 6
✅✅✅✅✅✅✅
Fastify>= 4.0.0,
< 6
✅✅✅✅✅✅✅
Hapi (@hapi/hapi)>= 17.0.0,
< 22
✅✅✅✅✅✅✅
Koa>= 2.0.0,
< 4
✅✅✅✅✅✅✅
NestJS (@nestjs/core)>= 4.0.0,
< 12
✅✅✅✅✅✅✅

Other libraries and frameworks supported by OpenTelemetry

The libraries and frameworks in this section are supported by OpenTelemetry but are not certified for compatibility with Observe by Snowflake APM.

Cache Client

Library nameSupported versionsTrace Explorer
ioredis>= 2.0.0, < 7✅
memcached>= 2.2.0, < 3✅
redis (node-redis)>= 2.6.0✅
@redis/client (node-redis 4 and later)>= 1.0.0, < 2 or >= 5.0.0, < 7✅

Cloud SDK

Library nameSupported versionsTrace Explorer
AWS SDK v3 (@aws-sdk/client-*)>= 3.0.0, < 4✅

Database

Library nameSupported versionsTrace Explorer
mysql>= 2.0.0, < 3✅
mysql2>= 1.4.2, < 4✅
oracledb>= 6.7.0, < 27✅
pg-pool>= 2.0.0, < 4✅
tedious (MSSQL)>= 1.11.0, < 21✅

Database Client

Library nameSupported versionsTrace Explorer
cassandra-driver>= 4.4.0, < 5✅

ORM

Library nameSupported versionsTrace Explorer
Sequelize 1️⃣>= 6.0.0, < 7✅
TypeORM 1️⃣>= 0.3.0, < 2✅

GenAI

Library nameSupported versionsTrace Explorer
LangChain (langchain, @langchain/core) 1️⃣>= 1.0.0, < 2✅
openai>= 4.19.0, < 7✅
OpenAI Agents SDK (@openai/agents) 1️⃣>= 0.14.0, < 1✅

HTTP Client

Library nameSupported versionsTrace Explorer
undici / fetch>= 5.12.0✅

HTTP Client / Server

Library nameSupported versionsTrace Explorer
http / https (Node.js core)Node.js built-in✅

Logging

Library nameSupported versionsTrace Explorer
Bunyan>= 1.0.0, < 2✅
Pino>= 5.14.0, < 11✅
Winston>= 1.0.0, < 4✅

Messaging

Library nameSupported versionsTrace Explorer
amqplib (RabbitMQ)>= 0.5.5, < 3✅
kafkajs>= 0.3.0, < 3✅
socket.io>= 2.0.0, < 5✅

GraphQL

Library nameSupported versionsTrace Explorer
DataLoader>= 2.0.0, < 3✅
graphql>= 14.0.0, < 17✅

Web / HTTP Server

Library nameSupported versionsTrace Explorer
Connect>= 3.0.0, < 4✅
Restify>= 4.1.0, < 13✅
router>= 1.0.0, < 3✅

Web / RPC

Library nameSupported versionsTrace Explorer
@grpc/grpc-js>= 1.0.0, < 2✅

Other

Library nameSupported versionsTrace Explorer
generic-pool>= 2.0.0, < 4✅
lru-memoizer>= 1.3.0, < 4✅

1️⃣ Not loaded by @opentelemetry/auto-instrumentations-node. Install its instrumentation package (@opentelemetry/instrumentation-sequelize, @opentelemetry/instrumentation-typeorm, @opentelemetry/instrumentation-langchain, or @opentelemetry/instrumentation-openai-agents) and register it in your code.

Check your application's libraries

☝️

Public preview feature

You may access and use this preview feature solely for internal evaluation purposes.  Previews are provided as-is. Your use of this preview is subject to the Snowflake Preview Terms located at https://www.snowflake.com/en/legal.


To check the package versions your application uses against these lists, run observe instrumentation audit in your project. See Check OpenTelemetry readiness with the Observe by Snowflake CLI.


Did this page help you?