⚗️ [RUM-11434] GraphQL support#3805
Conversation
|
Bundles Sizes Evolution
🚀 CPU Performance
🧠 Memory Performance
|
|
/to-staging |
|
View all feedbacks in Devflow UI.
Commit 079d9195f2 will soon be integrated into staging-36.
We couldn't automatically merge the commit 079d9195f2 into staging-36! To solve the conflicts directly in Github, click here to create a fix pull request. Alternatively, you can also click here reset the integration branch or use the following Slack command: |
|
/to-staging |
|
View all feedbacks in Devflow UI.
Commit f396a31845 will soon be integrated into staging-36.
Commit f396a31845 has been merged into staging-36 in merge commit 2b96c832fb. Check out the triggered pipeline on Gitlab 🦊 If you need to revert this integration, you can use the following command: |
Integrated commit sha: f396a31 Co-authored-by: rgaignault <[email protected]>
| return {} | ||
| } | ||
|
|
||
| const graphqlMetadata = extractGraphQlMetadata(request.init?.body, graphQlConfig.trackPayload) |
There was a problem hiding this comment.
❓ question: does anything prevent customers to use Request for their calls? cf input field of RequestCompleteEvent
There was a problem hiding this comment.
Hmm I guess no but it's a readable stream so we can not access it at this time, what are you thoughts about handling this case ?
There was a problem hiding this comment.
From my understanding, you can use Request with a string body, so I'd support this usage like we already do in fetchObservable.
|
/to-staging |
|
View all feedbacks in Devflow UI.
Commit f396a31845 will soon be integrated into staging-37.
Commit f396a31845 has been merged into staging-37 in merge commit 635a7b715d. Check out the triggered pipeline on Gitlab 🦊 If you need to revert this integration, you can use the following command: |
Integrated commit sha: f396a31 Co-authored-by: rgaignault <[email protected]>
BenoitZugmeyer
left a comment
There was a problem hiding this comment.
Could you add a e2e scenario?
2d5939b to
5bcdde4
Compare
|
💬 suggestion: with the addition of the flag, it should probably be: - ✨ [RUM-11434] GraphQL support
+ ⚗️ [RUM-11434] GraphQL support |
| const requestBody = request.body | ||
|
|
||
| return extractGraphQlMetadata(requestBody, graphQlConfig.trackPayload) |
There was a problem hiding this comment.
💬 suggestion: let's inline requestBody
| const requestBody = request.body | |
| return extractGraphQlMetadata(requestBody, graphQlConfig.trackPayload) | |
| return extractGraphQlMetadata(request.body, graphQlConfig.trackPayload) |
Motivation
GraphQL calls in RUM currently appear as generic POST /graphql entries, making it hard to distinguish or debug specific operations. Mobile SDKs already support GraphQL OOTB tracking, but the Browser SDK lacked equivalent functionality. This PR introduces native GraphQL request enrichment so operations can be meaningfully identified in RUM without relying on beforeSend customization.
Changes
New configuration option :
Detects matching GraphQL requests and enriches resource events with:
operationType, operationName ,variables, payload (query body, optional via trackPayload, truncated to 32KB)
Test instructions
Checklist