getsentry / getsentry/sentry-javascript

node-integration-tests: port database, cache and messaging suites to span streaming

未关闭
#24,137 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
javascript Task
主要语言
TypeScript
星标
8.7k
派生
1.8k
平均合并
1 天 17 小时
30 天内合并 PR
523

描述

Follow the porting recipe in the parent issue.

Most of these run under docker compose, so plan for a slow feedback loop. `db` span names became low cardinality and redis spans now start as `cache` spans, so nearly every name and op assertion changes.

## Suites

* Postgres: `tracing/postgres`, `tracing/postgresjs`
* MySQL: `tracing/mysql`, `tracing/mysql2`, `tracing/mysql2-tracing-channel`
* Mongo: `tracing/mongodb`, `tracing/mongodb-v4` to `-v7`, `tracing/mongoose`, `tracing/mongoose-v5` to `-v9`, `tracing/mongoose-tracing-channel`
* Prisma: `tracing/prisma-orm-v5`, `-v6`, `-v7`
* Other: `tracing/knex/mysql2`, `tracing/knex/pg`, `tracing/tedious`, `tracing/genericPool`, `tracing/genericPool-v2`, `tracing/dataloader`
* Cache: `tracing/redis`, `tracing/redis-cache`, `tracing/redis-dc`, `tracing/ioredis-dc`
* Messaging: `tracing/kafkajs`, `tracing/amqplib`

## Twins to fold back

* `tracing/postgres-streamed` into `tracing/postgres`
* `tracing/postgresjs-streamed` into `tracing/postgresjs`

## Env-gated suites

13 of these use `traceLifecycle: process.env.STREAMED === 'true' ? 'stream' : 'static'` (all the mongo, mongoose, redis and ioredis suites plus `tracing/mysql` and `tracing/dataloader`). Drop the switch and keep `'stream'`.

贡献指南

打开贡献指南

调研方向

Start with the parent issue's porting recipe, then inspect the listed tracing suites and their docker-compose test entry points. Update the span and operation assertions, fold the postgres-streamed twins back into their base suites, and remove the STREAMED lifecycle switch where specified. Run the affected integration suites and confirm all listed database, cache, and messaging tests pass with streaming enabled.

由索引模型根据 Issue 内容生成。

评估

技术栈
docker-compose, kafka, mongodb, mysql, node.js, postgresql, rabbitmq, redis, typescript
领域
databases, devops, distributed-systems, testing-qa
Issue 类型
重构
难度
5/5
预计耗时
一周以上
活跃度
活跃
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

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