Skip to content

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

@AbhiPrasad

Description

@AbhiPrasad

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.

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(),
  ],
})

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions