getsentry / getsentry/sentry-javascript

Trace isolation not working in with express/apollo app causing unrelated logs to have the same trace id

Offen
#17,704 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Bug State: Needs Discussion
Vorherrschende Sprache
TypeScript
Sterne
8.7k
Forks
1.8k
Ø Merge
1 T. 17 Std.
Gemergte PRs (30 T.)
515

Beschreibung

Sentry feedback: https://sentry.sentry.io/issues/feedback/?feedbackSlug=javascript%3A6854743819&project=11276

### Description

> Our app is very simple, just a docker container running node , Apollo server v4 w/ Express , deployed on Google Cloud Run.

```js
import { sentry as sentryConfig, service } from '@config'

import 'isomorphic-fetch'
import * as Sentry from '@sentry/node'
import { getRequestInfo } from '@shared/requestAsyncLocalStorage'

Sentry.init({
environment: sentryConfig.environment,
dsn: sentryConfig.dsn,
normalizeDepth: 7,
release: sentryConfig.release,
initialScope: {
tags: {
service,
},
},
ignoreErrors: ['You must be signed in to do this', 'too often'],
beforeBreadcrumb: (breadcrumb) => {
// ignore Apollo server reporting
// otherwise, the global scope will be polluted with useless breadcrumbs
// and useful ones will be discarded when hitting maxBreadcrumbs limit
if (
breadcrumb.category === 'http' &&
breadcrumb.message &&
breadcrumb.message.includes('[usage-reporting.api.apollographql.com](http://usage-reporting.api.apollographql.com/)')
) {
return null
}

return breadcrumb
},
beforeSendLog: (log) => {
// Can't override sentry's traceId, so we need to add it to the attributes
const requestInfo = getRequestInfo()

if (requestInfo.traceId && log.attributes) {
log.attributes.traceId = requestInfo.traceId
}

return log
},
enableLogs: true,
integrations: (defaults) => [
...defaults,
Sentry.rewriteFramesIntegration({
root: __dirname || process.cwd(),
}),
Sentry.modulesIntegration(),
],
})
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.