diff --git a/src/platforms/node/common/performance/database.mdx b/src/platforms/node/common/performance/database/auto-instrument.mdx similarity index 98% rename from src/platforms/node/common/performance/database.mdx rename to src/platforms/node/common/performance/database/auto-instrument.mdx index 6541ca4ecaf06b..8366aca7db83a5 100644 --- a/src/platforms/node/common/performance/database.mdx +++ b/src/platforms/node/common/performance/database/auto-instrument.mdx @@ -1,5 +1,5 @@ --- -title: Database integrations +title: Auto-instrumented --- Node.js integrations support tracking database queries as spans. Starting in version `6.4.0`, `@sentry/tracing` will auto-detect supported database drivers or ORMs being used in your project, and automatically enable the relevant integrations with default options - without needing additional code. diff --git a/src/platforms/node/common/performance/database/index.mdx b/src/platforms/node/common/performance/database/index.mdx new file mode 100644 index 00000000000000..6f802da2c55414 --- /dev/null +++ b/src/platforms/node/common/performance/database/index.mdx @@ -0,0 +1,23 @@ +--- +title: Database Integrations +--- + +Node.js integrations support tracking database queries as spans. + +## Supported Platforms + +Auto-instrumented: + +- `pg` (Postgres) +- `pg-native` (Postgres) _Available from version 6.12.0_ +- `mongodb` (Mongo) +- `mongoose` (Mongo) +- `mysql` (MySQL) + +Opt-in: + +- [Prisma ORM](https://www.prisma.io/) _Available from version 7.0.0_ + +## Next Steps + + diff --git a/src/platforms/node/common/performance/database/opt-in.mdx b/src/platforms/node/common/performance/database/opt-in.mdx new file mode 100644 index 00000000000000..fcc79f1e7b3a29 --- /dev/null +++ b/src/platforms/node/common/performance/database/opt-in.mdx @@ -0,0 +1,29 @@ +--- +title: Opt-in +--- + +## Prisma ORM Integration + +_(Available from `7.0.0`)_ + +Sentry supports tracing [Prisma ORM](https://www.prisma.io/) fetchers with Prisma integration. This integration is an opt-in feature and requires that a `PrismaClient` instance is provided. + +Prisma integration creates a `db.prisma` span for each query and reports to Sentry with relevant details inside `description` if available. + +For example: + +```javascript +import { PrismaClient } from '@prisma/client'; +import * as Sentry from '@sentry/node'; +import * as Tracing from '@sentry/tracing'; +import { randomBytes } from 'crypto'; + +const client = new PrismaClient(); + +Sentry.init({ + dsn: ___PUBLIC_DSN___, + release: '1.0', + tracesSampleRate: 1.0, + integrations: [new Tracing.Integrations.Prisma({ client })], +}); +``` \ No newline at end of file