-
-
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
ref(browser): Move navigation span descriptions into op #13527
Conversation
size-limit report 📦
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The op change looks fine to me! I'm concerned about the raw URLs in the span descriptions but primarily I want to make sure we're aware of the implications (see my comment)
op: 'browser', | ||
name: name || event, | ||
op: `browser.${name || event}`, | ||
name: entry.name, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
m: assigning the URL here makes the span name become high-cardinality. Are we aware of this? Does it have impact on Relay/grouping/etc? These are unparameterized, raw URLs. I assume they not only contain path parameters but also potentially query and hash params. We generally tried to stay as far away as possible from this because historically, it always led to problems (e.g. dynamic sampling consistency, transaction name grouping)
The raw urls can also contain all kinds of tokens and ids.
I'm not 100% against changing this, I just want to make sure we're aware of the implications.
I guess an alternative would be to just describe a bit what this span is doing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Lukas, a very valid point but it's something we are aware of! There's currently no grouping in Relay for browser spans, so the cardinality will not be an issue. However, we already have the functionality available to scrub/parameterize URLs, which we use for resource and HTTP spans, for example. My next step is to update Relay to scrub these browser spans so they can be grouped safely.
Putting something different and low cardinality in the description would not be as useful, since we'd be losing a lot of details when looking at the span summary.
@JonasBa In case this lands we need to update the trace gymnastics to also work with |
Good thinking @lforst, let me open a PR to support this on sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the wait @0Calories! I think technically this is ready to go (so I'll ✅ it) but before we merge this: @JonasBa can you give us a timeline on the necessary trace view change? Ideally we make this a seamless transition.
Sounds good! Not in a rush so I will wait for the trace view change before merging this |
@lforst @0Calories sorry, I was out last week. I'll make the changes today to handle this change |
Add reparenting support for the incoming renaming change in getsentry/sentry-javascript#13527
Add reparenting support for the incoming renaming change in getsentry/sentry-javascript#13527
I guess we can merge this now? |
Before I forget: Can you prepare a changelog entry in the |
Thanks for the reminder! Let me do that now |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@sentry/node](https://github.com/getsentry/sentry-javascript/tree/master/packages/node) ([source](https://github.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.31.0` -> `8.32.0`](https://renovatebot.com/diffs/npm/@sentry%2fnode/8.31.0/8.32.0) | | [@sentry/react](https://github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://github.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.31.0` -> `8.32.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.31.0/8.32.0) | --- ### Release Notes <details> <summary>getsentry/sentry-javascript (@​sentry/node)</summary> ### [`v8.32.0`](https://github.com/getsentry/sentry-javascript/releases/tag/8.32.0) [Compare Source](getsentry/sentry-javascript@8.31.0...8.32.0) ##### Important Changes - **ref(browser): Move navigation span descriptions into op ([#​13527](getsentry/sentry-javascript#13527 Moves the description of navigation related browser spans into the op, e.g. browser - cache -> browser.cache and sets the description to the performanceEntry objects' names (in this context it is the URL of the page). - **feat(node): Add amqplibIntegration ([#​13714](getsentry/sentry-javascript#13714 - **feat(nestjs): Add `SentryGlobalGenericFilter` and allow specifying application ref in global filter ([#​13673](getsentry/sentry-javascript#13673 Adds a `SentryGlobalGenericFilter` that filters both graphql and http exceptions depending on the context. - **feat: Set log level for Fetch/XHR breadcrumbs based on status code ([#​13711](getsentry/sentry-javascript#13711 Sets log levels in breadcrumbs for 5xx to error and 4xx to warning. ##### Other Changes - chore(nextjs): Bump rollup to 3.29.5 ([#​13761](getsentry/sentry-javascript#13761)) - fix(core): Remove `sampled` flag from dynamic sampling context in Tracing without Performance mode ([#​13753](getsentry/sentry-javascript#13753)) - fix(node): Ensure node-fetch does not emit spans without tracing ([#​13765](getsentry/sentry-javascript#13765)) - fix(nuxt): Use Nuxt error hooks instead of errorHandler to prevent 500 ([#​13748](getsentry/sentry-javascript#13748)) - fix(test): Unflake LCP test ([#​13741](getsentry/sentry-javascript#13741)) Work in this release was contributed by [@​Zen-cronic](https://github.com/Zen-cronic) and [@​Sjoertjuh](https://github.com/Sjoertjuh). Thank you for your contributions! ##### Bundle size 📦 | Path | Size | | ---------------------------------------------------------------- | ----------------- | | [@​sentry/browser](https://github.com/sentry/browser) | 22.63 KB | | [@​sentry/browser](https://github.com/sentry/browser) - with treeshaking flags | 21.42 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing) | 34.86 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) | 71.36 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 61.79 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay with Canvas) | 75.71 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback) | 88.48 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback, metrics) | 90.36 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. metrics) | 26.91 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. Feedback) | 39.77 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. sendFeedback) | 27.29 KB | | [@​sentry/browser](https://github.com/sentry/browser) (incl. FeedbackAsync) | 32.08 KB | | [@​sentry/react](https://github.com/sentry/react) | 25.38 KB | | [@​sentry/react](https://github.com/sentry/react) (incl. Tracing) | 37.84 KB | | [@​sentry/vue](https://github.com/sentry/vue) | 26.8 KB | | [@​sentry/vue](https://github.com/sentry/vue) (incl. Tracing) | 36.75 KB | | [@​sentry/svelte](https://github.com/sentry/svelte) | 22.76 KB | | CDN Bundle | 23.94 KB | | CDN Bundle (incl. Tracing) | 36.63 KB | | CDN Bundle (incl. Tracing, Replay) | 71.13 KB | | CDN Bundle (incl. Tracing, Replay, Feedback) | 76.44 KB | | CDN Bundle - uncompressed | 70.14 KB | | CDN Bundle (incl. Tracing) - uncompressed | 108.6 KB | | CDN Bundle (incl. Tracing, Replay) - uncompressed | 220.48 KB | | CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 233.69 KB | | [@​sentry/nextjs](https://github.com/sentry/nextjs) (client) | 37.8 KB | | [@​sentry/sveltekit](https://github.com/sentry/sveltekit) (client) | 35.43 KB | | [@​sentry/node](https://github.com/sentry/node) | 124.92 KB | | [@​sentry/node](https://github.com/sentry/node) - without tracing | 93.57 KB | | [@​sentry/aws-serverless](https://github.com/sentry/aws-serverless) | 103.28 KB | </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45NC4zIiwidXBkYXRlZEluVmVyIjoiMzguOTQuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Reviewed-on: https://git.tristess.app/alexandresoro/ouca/pulls/161 Reviewed-by: Alexandre Soro <[email protected]> Co-authored-by: renovate <[email protected]> Co-committed-by: renovate <[email protected]>
Makes some modifications to
browser
spans:browser
spans into the op, e.g.browser - cache
->browser.cache
performanceEntry
objects'names
, in this context it is the URL of the pageThis change is being made so that these
browser
spans can be ingested and grouped. Currently, all browser spans are grouped into a singularbrowser
span, despite each of the operations that these span represent doing very different things.This will improve the experience in the Spans tab of transaction summary and span summary, since we will be able to have proper groupings for
browser
spans.