perf(client): Stop bundling @opentelemetry packages(#19039)

Merged
Merging
integration/no-bundled-otel
into
main
-27%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
3
NEW
0
DROPPED
0

Benchmarks

client generation ~50 Models
packages/client/src/__tests__/benchmarks/huge-schema/huge-schema.bench.ts::typescript::client generation ~50 Models
-3%
6.3 s
6.5 s
typescript compilation ~50 Models
packages/client/src/__tests__/benchmarks/huge-schema/huge-schema.bench.ts::typescript::typescript compilation ~50 Models
+28%
68.5 ms
53.5 ms
client generation 100 models with relations
packages/client/src/__tests__/benchmarks/lots-of-relations/lots-of-relations.bench.ts::typescript::client generation 100 models with relations
-27%
40.6 s
55.8 s

Commits

Click on a commit to change the comparison range
chore(client): update mini-proxy to 0.7.0 (#19073)
base
4ec6c05
7 months ago by aqrln
+38%
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
da130d7
7 months ago by SevInf
-127%
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
0a0bab5
7 months ago by SevInf
+101%
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
83b6cf8
7 months ago by SevInf
-39%
Adress review comments
da48634
7 months ago by SevInf
ResourcesHomePricingDocsBlogGitHub
Copyright © 2023 CodSpeed Technology SAS. All rights reserved.