| Commit-Queue | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
Sorry for the slow reply, I do not want to block your experiment but I did not convince the metrics work.
"Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);Will this function be called?
I understand the behavior is like:
1. (network) Receives AcceptCHFrame
2. (network) Some required hints are missing and merge headers for restart.
3. (network -> browser) IPC to AcceptCHFrameReceived here.
4. (browser) restarts with fields required by ACCEPT CH frame
5. (network) AcceptCHFrame received.
6. (network) since all required headers exist, continue in the network layer. i.e. AcceptCHFrameReceived won't be called.
Then, Line 1897-1903 might not be called after restart.
What do you think?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
"Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);Will this function be called?
I understand the behavior is like:
1. (network) Receives AcceptCHFrame
2. (network) Some required hints are missing and merge headers for restart.
3. (network -> browser) IPC to AcceptCHFrameReceived here.
4. (browser) restarts with fields required by ACCEPT CH frame
5. (network) AcceptCHFrame received.
6. (network) since all required headers exist, continue in the network layer. i.e. AcceptCHFrameReceived won't be called.Then, Line 1897-1903 might not be called after restart.
What do you think?
Checked the behavior of
"Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);Will this function be called?
I understand the behavior is like:
1. (network) Receives AcceptCHFrame
2. (network) Some required hints are missing and merge headers for restart.
3. (network -> browser) IPC to AcceptCHFrameReceived here.
4. (browser) restarts with fields required by ACCEPT CH frame
5. (network) AcceptCHFrame received.
6. (network) since all required headers exist, continue in the network layer. i.e. AcceptCHFrameReceived won't be called.Then, Line 1897-1903 might not be called after restart.
What do you think?
Agree that this method might not be called after restart if all the client hints are provided. Since the browser destructs the URL loader and creats a new one, it will be quite complicated to pass the restart time to the URL loader and record the latency to receive accept-CH frame again. Is measuring the time between the `NavigationURLLoaderImpl::Restart` and `NavigationURLLoaderImpl::OnReceiveResponse` or `NavigationURLLoaderImpl::OnReceiveRedirect` an acceptable rough estimate?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
"Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);Jiacheng GuoWill this function be called?
I understand the behavior is like:
1. (network) Receives AcceptCHFrame
2. (network) Some required hints are missing and merge headers for restart.
3. (network -> browser) IPC to AcceptCHFrameReceived here.
4. (browser) restarts with fields required by ACCEPT CH frame
5. (network) AcceptCHFrame received.
6. (network) since all required headers exist, continue in the network layer. i.e. AcceptCHFrameReceived won't be called.Then, Line 1897-1903 might not be called after restart.
What do you think?
Hiroshige HayashizakiAgree that this method might not be called after restart if all the client hints are provided. Since the browser destructs the URL loader and creats a new one, it will be quite complicated to pass the restart time to the URL loader and record the latency to receive accept-CH frame again. Is measuring the time between the `NavigationURLLoaderImpl::Restart` and `NavigationURLLoaderImpl::OnReceiveResponse` or `NavigationURLLoaderImpl::OnReceiveRedirect` an acceptable rough estimate?
Er, perhaps the name "restart" was confusing -- `Restart()` is called for the initial request as well (https://source.chromium.org/chromium/chromium/src/+/main:content/browser/loader/navigation_url_loader_impl.cc;drc=8abea14deda089834ba142a35e8342014812df55;l=750).
So in the Yoshisato's scenario, there is Step 0:
0. (browser) start the initial navigation network request.
And this UMA measures the time between Step 0 and Step 4, i.e. a rough estimate of full restart turnaround time (IPCs cycle between browser process and network service) which would be ideally removed after we could move the restarting logic to the network service.
The latency until `OnReceiveResponse` is different and I expect it wouldn't work for this purpose, as it would contain the latency of the server and network connection etc.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Still lgtm.
"Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);Jiacheng GuoWill this function be called?
I understand the behavior is like:
1. (network) Receives AcceptCHFrame
2. (network) Some required hints are missing and merge headers for restart.
3. (network -> browser) IPC to AcceptCHFrameReceived here.
4. (browser) restarts with fields required by ACCEPT CH frame
5. (network) AcceptCHFrame received.
6. (network) since all required headers exist, continue in the network layer. i.e. AcceptCHFrameReceived won't be called.Then, Line 1897-1903 might not be called after restart.
What do you think?
Hiroshige HayashizakiAgree that this method might not be called after restart if all the client hints are provided. Since the browser destructs the URL loader and creats a new one, it will be quite complicated to pass the restart time to the URL loader and record the latency to receive accept-CH frame again. Is measuring the time between the `NavigationURLLoaderImpl::Restart` and `NavigationURLLoaderImpl::OnReceiveResponse` or `NavigationURLLoaderImpl::OnReceiveRedirect` an acceptable rough estimate?
Er, perhaps the name "restart" was confusing -- `Restart()` is called for the initial request as well (https://source.chromium.org/chromium/chromium/src/+/main:content/browser/loader/navigation_url_loader_impl.cc;drc=8abea14deda089834ba142a35e8342014812df55;l=750).
So in the Yoshisato's scenario, there is Step 0:
0. (browser) start the initial navigation network request.
And this UMA measures the time between Step 0 and Step 4, i.e. a rough estimate of full restart turnaround time (IPCs cycle between browser process and network service) which would be ideally removed after we could move the restarting logic to the network service.
The latency until `OnReceiveResponse` is different and I expect it wouldn't work for this purpose, as it would contain the latency of the server and network connection etc.
Thanks for the explanation. That makes sense to me, then.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |