UNPKG

@sentry/node

Version:

Sentry Node SDK using OpenTelemetry for performance instrumentation

50 lines (49 loc) 2.63 kB
import { Instrumentation } from '@opentelemetry/instrumentation'; export declare const instrumentPrisma: ((options?: { prismaInstrumentation?: Instrumentation<import("@opentelemetry/instrumentation").InstrumentationConfig> | undefined; } | undefined) => Instrumentation<import("@opentelemetry/instrumentation").InstrumentationConfig>) & { id: string; }; /** * Adds Sentry tracing instrumentation for the [prisma](https://www.npmjs.com/package/prisma) library. * For more information, see the [`prismaIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/prisma/). * * NOTE: By default, this integration works with Prisma version 6. * To get performance instrumentation for other Prisma versions, * 1. Install the `@prisma/instrumentation` package with the desired version. * 1. Pass a `new PrismaInstrumentation()` instance as exported from `@prisma/instrumentation` to the `prismaInstrumentation` option of this integration: * * ```js * import { PrismaInstrumentation } from '@prisma/instrumentation' * * Sentry.init({ * integrations: [ * prismaIntegration({ * // Override the default instrumentation that Sentry uses * prismaInstrumentation: new PrismaInstrumentation() * }) * ] * }) * ``` * * The passed instrumentation instance will override the default instrumentation instance the integration would use, while the `prismaIntegration` will still ensure data compatibility for the various Prisma versions. * 1. Depending on your Prisma version (prior to version 6), add `previewFeatures = ["tracing"]` to the client generator block of your Prisma schema: * * ``` * generator client { * provider = "prisma-client-js" * previewFeatures = ["tracing"] * } * ``` */ export declare const prismaIntegration: (args_0?: { /** * Overrides the instrumentation used by the Sentry SDK with the passed in instrumentation instance. * * NOTE: By default, the Sentry SDK uses the Prisma v6 instrumentation. Use this option if you need performance instrumentation different Prisma versions. * * For more information refer to the documentation of `prismaIntegration()` or see https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/prisma/ */ prismaInstrumentation?: Instrumentation<import("@opentelemetry/instrumentation").InstrumentationConfig> | undefined; } | undefined) => import("@sentry/core").Integration; //# sourceMappingURL=prisma.d.ts.map