refactor: add performance tracing infrastructure#26044
Merged
matthewwalsh0 merged 46 commits intodevelopfrom Aug 12, 2024
Merged
refactor: add performance tracing infrastructure#26044matthewwalsh0 merged 46 commits intodevelopfrom
matthewwalsh0 merged 46 commits intodevelopfrom
Conversation
Simplify Sentry logic. Improve Sentry logging. Fix toggle timings.
Add Sentry buttons in developer options.
Include type in log message.
Add local timings. Move internal messages to separte logger.
Pass span to callback.
Remove package script duplication.
Contributor
|
Notes: to update the document for sentry debugging: |
Update README. Rename type.
Collaborator
Builds ready [3e09194]
Page Load Metrics (305 ± 285 ms)
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
DDDDDanica
reviewed
Jul 31, 2024
DDDDDanica
reviewed
Jul 31, 2024
DDDDDanica
reviewed
Aug 1, 2024
DDDDDanica
reviewed
Aug 1, 2024
DDDDDanica
reviewed
Aug 1, 2024
Reduce sample rate. Extend README. Rename shared file.
|
Collaborator
Builds ready [f1895b6]
Page Load Metrics (63 ± 8 ms)
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
DDDDDanica
approved these changes
Aug 2, 2024
vinistevam
approved these changes
Aug 12, 2024
pedronfigueiredo
approved these changes
Aug 12, 2024
Collaborator
|
Missing release label release-12.2.0 on PR. Adding release label release-12.2.0 on PR and removing other release labels(release-12.4.0), as PR was cherry-picked in branch 12.2.0. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
Add initial tracing and performance metrics infrastructure.
Specifically:
tracemethod, to be used anywhere in the client to generate a Sentry trace to monitor and analyse performance metrics.Sentry.browserTracingIntegrationto automatically generate traces for each page navigation, including nested spans for any HTTP requests.README.Note that the previously used
browserProfilingIntegrationdoes not generate transactions or traces itself, but rather attempts to add profiling data to any generated transactions. This does not appear to be compatible given it requires the Self-Profiling API object which is only available in Chrome and in our case, the UI. In addition, it requires thejs-profilingdocument policy which also appears to currently not be supported in browser extensions.Sentry also provides React specific automated instrumentation via
@sentry/reactand theSentry.reactRouterV5BrowserTracingInstrumentationintegration, but this should be pursued in a separate ticket if needed given the required further refactor.Related issues
Fixes: #2711
Manual testing steps
TracesorPerformancesection.popup.htmlwith nested spans including HTTP requests.Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist