Skip to content

Node ANR tracking not grouping well with GraphQL + Apollo #9325

@AbhiPrasad

Description

@AbhiPrasad

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/node

SDK Version

7.74.0

Framework Version

No response

Link to Sentry event

No response

SDK Setup

No response

Steps to Reproduce

  1. Set up graphql + apollo app
image
  1. Enable Sentry SDK with ANR tracking
  2. Throw ANR error from graphql resolver

Expected Result

Everything is grouped well

Actual Result

Something that didn't work so well was that we got a new issue every time the problem with big GraphQL response occurred. It is probably related to the fact that the stack trace just contains Apollo server related code. I had to create a custom fingerprint rule to group the issues.

From @ollipa, raised as part of #9307

ApplicationNotResponding: Application Not Responding for at least 1000 ms
  File "app:///../node_modules/graphql/execution/execute.js", line 412, col 5, in executeFields
  File "app:///../node_modules/graphql/execution/execute.js", line 925, col 10, in completeObjectValue
  File "app:///../node_modules/graphql/execution/execute.js", line 646, col 12, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 595, col 23, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 707, col 25
  File "app:///../node_modules/graphql/execution/execute.js", line 687, col 34, in completeListValue
  File "app:///../node_modules/graphql/execution/execute.js", line 618, col 12, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 595, col 23, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 500, col 19, in executeField
  File "app:///../node_modules/graphql/execution/execute.js", line 414, col 22, in executeFields
  File "app:///../node_modules/graphql/execution/execute.js", line 925, col 10, in completeObjectValue
  File "app:///../node_modules/graphql/execution/execute.js", line 646, col 12, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 595, col 23, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 707, col 25
  File "app:///../node_modules/graphql/execution/execute.js", line 687, col 34, in completeListValue
  File "app:///../node_modules/graphql/execution/execute.js", line 618, col 12, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 595, col 23, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 500, col 19, in executeField
  File "app:///../node_modules/graphql/execution/execute.js", line 414, col 22, in executeFields
  File "app:///../node_modules/graphql/execution/execute.js", line 925, col 10, in completeObjectValue
  File "app:///../node_modules/graphql/execution/execute.js", line 806, col 10, in completeAbstractValue
  File "app:///../node_modules/graphql/execution/execute.js", line 635, col 12, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 595, col 23, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 707, col 25
  File "app:///../node_modules/graphql/execution/execute.js", line 687, col 34, in completeListValue
  File "app:///../node_modules/graphql/execution/execute.js", line 618, col 12, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 595, col 23, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 500, col 19, in executeField
  File "app:///../node_modules/graphql/execution/execute.js", line 414, col 22, in executeFields
  File "app:///../node_modules/graphql/execution/execute.js", line 925, col 10, in completeObjectValue
  File "app:///../node_modules/graphql/execution/execute.js", line 646, col 12, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 595, col 23, in completeValue
  File "app:///../node_modules/graphql/execution/execute.js", line 497, col 9
  File "node:internal/process/task_queues", line 95, col 5, in processTicksAndRejections

The recursion might be causing issues here (varying amount of frames even though root cause is the same).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions