diff --git a/nodejs/README.md b/nodejs/README.md index 6430c88c11..8966ff6ed8 100644 --- a/nodejs/README.md +++ b/nodejs/README.md @@ -38,6 +38,7 @@ Following instrumentations from the metapackage are included: - `net` *- default* - `pg` *- default* - `pino` +- `prisma` - `redis` *- default* - `restify` - `socket.io` diff --git a/nodejs/package-lock.json b/nodejs/package-lock.json index bcefa34c0e..54f5ef9ea7 100644 --- a/nodejs/package-lock.json +++ b/nodejs/package-lock.json @@ -1871,6 +1871,18 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@prisma/instrumentation": { + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/instrumentation/-/instrumentation-6.19.3.tgz", + "integrity": "sha512-gwU1D4pxrtBZXINZwSseEal+h8OghvIVZIH3VRv6+vPFAkZk1ykFUVcOhhboBc5WmhoD42NTJjla2i7GFNcZWA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/instrumentation": ">=0.52.0 <1" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.8" + } + }, "node_modules/@sinonjs/commons": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", @@ -8749,7 +8761,8 @@ "@opentelemetry/resources": "^2.0.0", "@opentelemetry/sdk-logs": "^0.218.0", "@opentelemetry/sdk-metrics": "^2.0.0", - "@opentelemetry/sdk-trace-node": "^2.0.0" + "@opentelemetry/sdk-trace-node": "^2.0.0", + "@prisma/instrumentation": "^6.19.3" }, "devDependencies": { "@types/mocha": "^10.0.9", diff --git a/nodejs/packages/layer/package.json b/nodejs/packages/layer/package.json index 5fa8383233..c56bf718d1 100644 --- a/nodejs/packages/layer/package.json +++ b/nodejs/packages/layer/package.json @@ -81,7 +81,8 @@ "@opentelemetry/resources": "^2.0.0", "@opentelemetry/sdk-logs": "^0.218.0", "@opentelemetry/sdk-metrics": "^2.0.0", - "@opentelemetry/sdk-trace-node": "^2.0.0" + "@opentelemetry/sdk-trace-node": "^2.0.0", + "@prisma/instrumentation": "^6.19.3" }, "devDependencies": { "@types/mocha": "^10.0.9", diff --git a/nodejs/packages/layer/src/wrapper.ts b/nodejs/packages/layer/src/wrapper.ts index 3cb46403bd..f27b649843 100644 --- a/nodejs/packages/layer/src/wrapper.ts +++ b/nodejs/packages/layer/src/wrapper.ts @@ -236,6 +236,10 @@ async function defaultConfigureInstrumentations() { await import('@opentelemetry/instrumentation-pino'); instrumentations.push(new PinoInstrumentation()); } + if (activeInstrumentations.has('prisma')) { + const { PrismaInstrumentation } = await import('@prisma/instrumentation'); + instrumentations.push(new PrismaInstrumentation()); + } if (activeInstrumentations.has('redis')) { const { RedisInstrumentation } = await import('@opentelemetry/instrumentation-redis');