getsentry / getsentry/sentry-javascript

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

オープン
#24,137 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
javascript Task
主要言語
TypeScript
スター
8.7k
フォーク
1.8k
平均マージ
1日 17時間
マージ済み PR(30日)
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
見積もり時間
1週間以上
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。