Commits
Click on a commit to change the comparison rangeperf(client): Stop bundling @opentelemetry packages
Removes all @opentelemetry packages from client bundle.
Client would now interact with OTEL throgh type-only `TracingHelper`
dependency. Actual implementation is provided by
`@prisma/instrumentation` package. Technically it works like this:
- `@prisma/internals` package contains type definition for
`TracingHelper` interface. This interface describes all OTEL functions
client might need. `runInChildSpan`, `getTraceParent` and `createSpan`
functions moved there.
- `@prisma/client` contains no-op `TracingHelper` implementation. It
will be used if tracing is not active (either through disabled preview
feature or through absence of instrumentation package).
- `@prisma/instrumentation` contains active implementation of
`TracingHelper`. It is set on a global `PRISMA_INSTRUMENTATION`
instead of the config. When active, client will use that
implementation instead of no-op one.
Close prisma/client-planning#340 perf(client): Stop bundling @opentelemetry packages
Removes all @opentelemetry packages from client bundle.
Client would now interact with OTEL throgh type-only `TracingHelper`
dependency. Actual implementation is provided by
`@prisma/instrumentation` package. Technically it works like this:
- `@prisma/internals` package contains type definition for
`TracingHelper` interface. This interface describes all OTEL functions
client might need. `runInChildSpan`, `getTraceParent` and `createSpan`
functions moved there.
- `@prisma/client` contains no-op `TracingHelper` implementation. It
will be used if tracing is not active (either through disabled preview
feature or through absence of instrumentation package).
- `@prisma/instrumentation` contains active implementation of
`TracingHelper`. It is set on a global `PRISMA_INSTRUMENTATION`
instead of the config. When active, client will use that
implementation instead of no-op one.
Close prisma/client-planning#340 perf(client): Stop bundling @opentelemetry packages
Removes all @opentelemetry packages from client bundle.
Client would now interact with OTEL throgh type-only `TracingHelper`
dependency. Actual implementation is provided by
`@prisma/instrumentation` package. Technically it works like this:
- `@prisma/internals` package contains type definition for
`TracingHelper` interface. This interface describes all OTEL functions
client might need. `runInChildSpan`, `getTraceParent` and `createSpan`
functions moved there.
- `@prisma/client` contains no-op `TracingHelper` implementation. It
will be used if tracing is not active (either through disabled preview
feature or through absence of instrumentation package).
- `@prisma/instrumentation` contains active implementation of
`TracingHelper`. It is set on a global `PRISMA_INSTRUMENTATION`
instead of the config. When active, client will use that
implementation instead of no-op one.
Close prisma/client-planning#340