Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Prisma 8 support for `prismaIntegration`

未关闭
#24,237 1 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@chargome 已经在做这个了。

开始于 2026年9月9日。

评估

这个 Issue 还没有评估数据。

描述

Integration: prisma Package: node

Prisma 8 ("Prisma Next", @prisma/orm-postgres, currently 8.0.0-rc.8) ships no tracing surface. It never reads the global PRISMA_INSTRUMENTATION helper, so prismaIntegration is inert. Only raw pg spans from postgresIntegration remain: one flat db span per statement, plus Prisma's marker-verification and BEGIN/COMMIT housekeeping queries as siblings. The v7 span tree (prisma:client:operation with model/method, serialize, connect, nested db_query) is gone.

Goal: roughly the same spans on Prisma 8 as on v7.

Approach: instrument via orchestrion, like the other server-utils integrations. No user code needed, works with the runtime loader hook and the bundler plugins.

  • Patch the CollectionImpl methods (create, createAll, upsert, update, updateAll, delete, deleteAll, all, first, count, aggregate) in @prisma/orm-family-sql/dist/orm-client.mjs for prisma:client:operation (origin auto.db.prisma, model/method attributes).
  • Patch execute(plan, options) on the runtime base class in @prisma/orm-family-sql/dist/runtime.mjs so the pg query spans nest under the operation. The plan carries meta.lane and annotations.
  • No serialize span. connect only if the lazy pool creation in @prisma/orm-postgres/dist/runtime.mjs is patchable cleanly.
  • Wire it through prismaIntegration so @sentry/node and @sentry/cloudflare/nodejs_compat stay the entry points.

Scope:

  • Orchestrion config + channel subscriber for the above.
  • Extend dev-packages/node-integration-tests/suites/tracing/prisma-orm-v8 (currently pins the inert behaviour) to assert the v7-shaped tree.
  • Docs: prismaIntegration JSDoc and Sentry docs say "v6 and v7"; add v8.

Risks / constraints:

  • Patch points live in @prisma/orm-family-sql, a transitive dependency. The two files are unhashed, but versionRange must be pinned tightly and revisited at 8.0 stable.
  • .all() returns a thenable that only runs the query when awaited; check the Auto kind's promise handling against that shape.
  • Prisma's marker-verification and BEGIN/COMMIT statements will nest under the operation span, unlike v7.
  • v8 CLI needs Node ≥22.18; DateTime columns decode to Temporal (global only on Node 26).

References:

主要语言
TypeScript
星标
8.7k
派生
1.9k
平均合并
1 天 16 小时
30 天内合并 PR
576

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

getsentry/sentry-javascript 的其他 Issue

查看 getsentry/sentry-javascript 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。