From 38c157080000ee794232310857c22cce87b306d1 Mon Sep 17 00:00:00 2001 From: Onur Temizkan Date: Thu, 21 Apr 2022 08:12:07 +0000 Subject: [PATCH 1/4] Update docs and add example for Prisma integration. --- .../auto-instrument.mdx} | 2 +- .../common/performance/database/index.mdx | 23 +++++++++++++++++ .../common/performance/database/opt-in.mdx | 25 +++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) rename src/platforms/node/common/performance/{database.mdx => database/auto-instrument.mdx} (98%) create mode 100644 src/platforms/node/common/performance/database/index.mdx create mode 100644 src/platforms/node/common/performance/database/opt-in.mdx 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..0037833eecadba --- /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..4b27e94c55694c --- /dev/null +++ b/src/platforms/node/common/performance/database/opt-in.mdx @@ -0,0 +1,25 @@ +--- +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 a `PrismaClient` instance provided. + +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 From a2fc5e33c51efb31f335e92b3aa6d5e424e9574a Mon Sep 17 00:00:00 2001 From: Onur Temizkan Date: Thu, 21 Apr 2022 20:25:24 +0300 Subject: [PATCH 2/4] Apply suggestions from code review Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> --- src/platforms/node/common/performance/database/index.mdx | 4 ++-- src/platforms/node/common/performance/database/opt-in.mdx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/platforms/node/common/performance/database/index.mdx b/src/platforms/node/common/performance/database/index.mdx index 0037833eecadba..6f802da2c55414 100644 --- a/src/platforms/node/common/performance/database/index.mdx +++ b/src/platforms/node/common/performance/database/index.mdx @@ -1,10 +1,10 @@ --- -title: Database integrations +title: Database Integrations --- Node.js integrations support tracking database queries as spans. -## Supported platforms +## Supported Platforms Auto-instrumented: diff --git a/src/platforms/node/common/performance/database/opt-in.mdx b/src/platforms/node/common/performance/database/opt-in.mdx index 4b27e94c55694c..32310626dae64f 100644 --- a/src/platforms/node/common/performance/database/opt-in.mdx +++ b/src/platforms/node/common/performance/database/opt-in.mdx @@ -4,7 +4,7 @@ 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 a `PrismaClient` instance provided. +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. For example: From 35d04a1cf2f3a35211011735bf8e7a06c43719e4 Mon Sep 17 00:00:00 2001 From: Onur Temizkan Date: Thu, 21 Apr 2022 17:38:42 +0000 Subject: [PATCH 3/4] Add brief span details. --- src/platforms/node/common/performance/database/opt-in.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/platforms/node/common/performance/database/opt-in.mdx b/src/platforms/node/common/performance/database/opt-in.mdx index 32310626dae64f..4c990a399e8c8f 100644 --- a/src/platforms/node/common/performance/database/opt-in.mdx +++ b/src/platforms/node/common/performance/database/opt-in.mdx @@ -6,6 +6,8 @@ title: Opt-in 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 From 31f6a0cdb41d37f9140c36ee7c5a8e0f57d3e4ee Mon Sep 17 00:00:00 2001 From: Onur Temizkan Date: Mon, 30 May 2022 12:59:39 +0000 Subject: [PATCH 4/4] Style fix. --- src/platforms/node/common/performance/database/opt-in.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/platforms/node/common/performance/database/opt-in.mdx b/src/platforms/node/common/performance/database/opt-in.mdx index 4c990a399e8c8f..fcc79f1e7b3a29 100644 --- a/src/platforms/node/common/performance/database/opt-in.mdx +++ b/src/platforms/node/common/performance/database/opt-in.mdx @@ -2,7 +2,9 @@ title: Opt-in --- -## Prisma ORM Integration _(Available from `7.0.0`)_ +## 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.