Skip to content
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

[8.x] [Synthetics] waterfall chart - handle cached resources (#193089) #193377

Merged
merged 3 commits into from
Sep 24, 2024

Conversation

kibanamachine
Copy link
Contributor

Backport

This will backport the following commits from main to 8.x:

Questions ?

Please refer to the Backport tool documentation

## Summary

Resolves elastic#184794

Ensures that the cached resources display accurate timing information on
the waterfall chart tooltips.

The information displayed should match the information displayed in the
flyout when the request url is clicked.

Tooltip
<img width="555" alt="Screenshot 2024-09-16 at 8 49 55 PM"
src="https://github.com/user-attachments/assets/516653bc-dcec-4681-965b-08711417ab67">

Flyout
<img width="424" alt="Screenshot 2024-09-16 at 2 07 56 PM"
src="https://github.com/user-attachments/assets/5fb0bf1c-c65d-4ce3-8a6a-5e95700209dd">

### Release note

Synthetics - resolves an issue for multi step browser journeys where
timings for cached resources within the same step were inaccurate within
the waterfall chart.

### Testing

1. Create a browser monitor with duplicate requests. For example:
```
step("multi resource step", async () => {
    await page.goto('https://github.com');
    await page.goto('https://github.com');
    await page.goto('https://github.com');
})
```
2. Navigate to the monitor details page
3. Find the last test run panel, click the view test details button,
then click the view performance breakdown button

![image](https://github.com/user-attachments/assets/b66addcb-21f6-4eac-8c60-dc3387b33853)

![image](https://github.com/user-attachments/assets/67f04b9f-4ff6-4ce6-85d1-2a89869e4a2c)
4. Scroll down to the waterfall chart. If you use github, requests after
about 115 should be cached. Note: some request may have been aborted and
their waterfall tooltip won't show. Find a request that was not aborted,
hover to see the tooltip, then click the request to view the flyout and
confirm the information.

(cherry picked from commit 6f4be61)
@elasticmachine
Copy link
Contributor

Pinging @elastic/obs-ux-management-team (Team:obs-ux-management)

@kibana-ci
Copy link
Collaborator

kibana-ci commented Sep 24, 2024

💛 Build succeeded, but was flaky

  • Buildkite Build
  • Commit: 2059709
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-193377-2059709d65c8

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #33 / console app misc console behavior customizable font size should allow the font size to be customized
  • [job] [logs] Jest Tests #2 / Use get case configuration hook returns the initial configuration if none matches the owner

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
synthetics 964.1KB 964.1KB +28.0B

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

cc @dominiqueclarke

@kibanamachine kibanamachine merged commit 04b65f2 into elastic:8.x Sep 24, 2024
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport ci:project-deploy-observability Create an Observability project Team:obs-ux-management Observability Management User Experience Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants