-
Notifications
You must be signed in to change notification settings - Fork 341
Support for Prisma client library #5605
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
added TracingHelper logic Updated Prisma implementation prisma code clean up adding comments Updated test.ts file clean up test code Updated db conneciton string Updated databaseDriverMap added support for transaction queries Fix Prisma test errors Update prisma test Fix promise handling Update code and CI tests move cleanUpPrismaClient Update version and DB name Update min version for debugging Testing latest verison only rewrote generatePrismaClient logic Update next.js webpack error
Overall package sizeSelf size: 9.74 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.8.2 | 9.56 MB | 9.93 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.3 | 2.95 MB | 5.6 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.14.0 | 120.58 kB | 841.68 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | dc-polyfill | 0.1.9 | 25.11 kB | 25.11 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.2 | 23.54 kB | 23.54 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #5605 +/- ##
==========================================
+ Coverage 80.02% 80.37% +0.34%
==========================================
Files 445 460 +15
Lines 19493 19915 +422
==========================================
+ Hits 15600 16007 +407
- Misses 3893 3908 +15 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
BenchmarksBenchmark execution time: 2025-06-23 12:27:29 Comparing candidate commit e4c2fcc in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 919 metrics, 47 unstable metrics. |
Datadog ReportBranch report: ✅ 0 Failed, 1260 Passed, 0 Skipped, 22m 6.14s Total Time |
Main concern: what exactly should the spans look like? Can you generate a unrelated pg query in your test app talking to the same DB to compare results / attributes? Might be worth meeting with a customer next week. |
990780d
to
0cc6d3d
Compare
This looks good to me but I'd like someone else to review as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is definitely great work!
I left a few minor comments about making the code a tad faster and tests a tad more readable.
The only concern I have is the added startTime
property added to the span. I don't think it's a good idea to have that only for Prisma.
Also we would like to release this disabled by default, get some user feedback, before enabling by default. |
0cc6d3d
to
d004e81
Compare
1b30f61
to
0dd83b0
Compare
Please enter the commit message for your changes. Lines starting
cc201f8
to
a0bbfa5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Green CI 🎉
This should be approved by someone else as well, since I pushed the latest commits. @rochdev and me had a productive pairing :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still LGTM
a1578e9
to
e4c2fcc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just signed all commits and fixed the mentioned typo.
Still LG from my side
This is amazing! When do we expect the release? |
Next to the prisma instrumentation this is also improving the way externals is able to install additional dependencies in our test setup. The dependency version may now be pinned to the main dependency version to align these by specifying the main dependency as `dep`. --------- Co-authored-by: Thomas Hunter II <tlhunter@datadog.com> Co-authored-by: Crystal Magloire <crys.magloire@gmail.com> Co-authored-by: Ruben Bridgewater <ruben.bridgewater@datadoghq.com> Co-authored-by: Roch Devost <roch.devost@datadoghq.com>
Next to the prisma instrumentation this is also improving the way externals is able to install additional dependencies in our test setup. The dependency version may now be pinned to the main dependency version to align these by specifying the main dependency as `dep`. --------- Co-authored-by: Thomas Hunter II <tlhunter@datadog.com> Co-authored-by: Crystal Magloire <crys.magloire@gmail.com> Co-authored-by: Ruben Bridgewater <ruben.bridgewater@datadoghq.com> Co-authored-by: Roch Devost <roch.devost@datadoghq.com>
What does this PR do?
Adds tracing support for the Prisma ORM library for v6.1.0+.
Fixes #1244
Full Example trace

Example of generated SQL span

Transaction query

Motivation
Multiple submitted FR for this library.
Plugin Checklist