Open ankur22 opened 2 months ago
There is in fact two different things going on:
page.goto
) into two parts:
In a POC I've been able to solve both these issues. However, the issue that needs to be solved is 1.
Although we haven't solved the issue of "the span for this API call is longer than the parent span", we have solved a more serious issue which is affecting the results which is to start the navigation span earlier so that the other measurements are correctly correlate-able. Closing this issue, but we should reopen and open a new one if the spilling over span is affecting results.
Brief summary
When performing a
page.goto
the span for this API call is longer than the parent span that it is contained within it. In the screenshot the red square is highlighting the navigation and goto spans that are under scrutiny. The orange box within it at the end highlights that the goto span is spilling over the navigation span. This is incorrect behaviour which is causing other issues.Due to the above issue, we're seeing odd results in the timeline. In the screenshot below, the red highlighted page span shows the key results of navigating and interacting with the page on https://test.k6.io/my_messages.php. The web vital measurement (in orange) is longer than the duration (in yellow). This is occurring because the web vital measurements start during the previous navigation (in blue) on about:blank during the page.goto call.
The resolution is to find a better place in the browser code to stop and start the navigation span when using
page.goto
.xk6-browser version
v0.53
OS
NA
Chrome version
NA
Docker version and image (if applicable)
No response
Steps to reproduce the problem
Run the following script with tracing enabled to see similar tracing results as shown in the description:
Expected behaviour
page.goto
span doesn't spill over out of the parent navigation span.Actual behaviour
See description for full details.