-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Index lcp.element as a tag #13411
Comments
From internal conversations:
|
Backlogging to triage after hackweek |
Yes, that's correct. I diffed v7 and v8 payloads for the former LCP tags and this is the difference for LCP in the transaction event: v7: {
"contexts": {
"trace": {
"tags": {
"lcp.element": "body > div#app > div > h1",
"lcp.size": 24827
}
}
},
"tags": {
"lcp.element": "body > div#app > div > h1",
"lcp.size": 24827
},
"measurements": {
"lcp": { "value": 106.20000000298023, "unit": "millisecond" }
}
} v8: {
"contexts": {
"trace": {
"data": {
"lcp.element": "body > div#app > div > h1",
"lcp.size": 24827
}
}
},
"measurements": {
"lcp": { "value": 146.20000000298023, "unit": "millisecond" }
}
} Why was this changed? In v8, we removed the Now the question is, how do we fix it? We could special-case this in the SDK but it increases complexity and arguably bings us closer to tags again which we generally don't want to (also for span-only streaming). So I'm wondering if we can adjust the tag extraction logic in Relay. @edwardgou-sentry do you know if this would be possible in Relay? |
@Lms24 If we want to extract the I'm unsure if there would be potential issues with doing this though. Do we know if there are other tags we're missing from this change aside from the lcp ones? |
Here's a list of values we previously set as tags on the transaction and now as attributes on the root span in the browserTracingIntegration:
I'm not sure which of these data points actually need to be extracted to tags. I was under the impression that we audited these and checked with the performance team. However, I didn't find the issue I had in mind, so I'm not too sure anymore. Anyway, I discussed this with the team and we'd prefer the necessary values being extracted in Relay. Re-introducing attribute->tag conversion logic in the SDK (which will be intransparent for users) seems wrong, given the span only future where tags on spans will not exist anymore. |
I think we can go with extracting |
Perfect, thanks! I'm gonna set this as done for the Web SDK Frontend board and unassign myself from the issue given it's not fixed in SDK code. Also, should we transfer this issue to the relay repo? |
@getsentry/ingest dropping this in the Ingest board for now since it seems like there's work to be done in Relay to support this. Quick summary: JS SDK sends certain tags differently between v7 and v8 payloads. Specifically Would it be possible to update relay to extract these tags from the new v8 structure instead? |
@edwardgou-sentry yes if customers actually expect this field to show up as a tag, we can do this. Since you already identified a possible code location for the fix, would you be willing to implement this? |
@jjbayer Sure, I have some time to look at this today! Will drop a pr for review |
…#4074) Extracts `lcp.element`, `lcp.size`, `lcp.id`, and `lcp.url` tags from the event trace context. This is to support performance views in the product that relied on these tags existing but were no longer being sent as tags. getsentry/sentry-javascript#13411 #skip-changelog
Implemented in getsentry/relay#4074. |
Is there an existing issue for this?
How do you use Sentry?
Sentry Saas (sentry.io)
Which SDK are you using?
@sentry/browser
SDK Version
8
Framework Version
No response
Link to Sentry event
No response
Reproduction Example/SDK Setup
Please see https://demo.sentry.io/performance/summary/tags/?project=5808623&query=&statsPeriod=14d&tagKey=backendType&transaction=%2Fproducts:
Steps to Reproduce
lcp-shows-but-no-lcp.element-tag.mp4
Expected Result
lcp.element
and otherlcp.*
tags appear for the transactionActual Result
The text was updated successfully, but these errors were encountered: