getsentry / getsentry/sentry-javascript

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

Open
#24,137 1 comment 0 reactions 0 assignees View on GitHub
javascript Task
Dominant language
TypeScript
Stars
8.7k
Forks
1.8k
Avg merge
1d 17h
Merged PRs (30d)
515

Description

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'`.

Contributor guide

Open the contributing guide

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker-compose, kafka, mongodb, mysql, node.js, postgresql, rabbitmq, redis, typescript
Domain
databases, devops, distributed-systems, testing-qa
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.