Add Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime [chromium/src : main]

0 views
Skip to first unread message

Hiroshige Hayashizaki (Gerrit)

unread,
Apr 10, 2026, 11:16:03 PM (4 days ago) Apr 10
to Kouhei Ueno, Yoshisato Yanagisawa, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, loading...@chromium.org
Attention needed from Kouhei Ueno and Yoshisato Yanagisawa

Hiroshige Hayashizaki voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Kouhei Ueno
  • Yoshisato Yanagisawa
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Id4ebdb97b2d324c2d6db807eae17a9ff24ab0084
Gerrit-Change-Number: 7750429
Gerrit-PatchSet: 4
Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
Gerrit-Reviewer: Yoshisato Yanagisawa <yyana...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-Attention: Kouhei Ueno <kou...@chromium.org>
Gerrit-Attention: Yoshisato Yanagisawa <yyana...@chromium.org>
Gerrit-Comment-Date: Sat, 11 Apr 2026 03:15:33 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Kouhei Ueno (Gerrit)

unread,
Apr 11, 2026, 8:04:55 AM (3 days ago) Apr 11
to Hiroshige Hayashizaki, Chromium LUCI CQ, Yoshisato Yanagisawa, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, loading...@chromium.org
Attention needed from Hiroshige Hayashizaki and Yoshisato Yanagisawa

Kouhei Ueno voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Hiroshige Hayashizaki
  • Yoshisato Yanagisawa
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Id4ebdb97b2d324c2d6db807eae17a9ff24ab0084
    Gerrit-Change-Number: 7750429
    Gerrit-PatchSet: 4
    Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
    Gerrit-Reviewer: Yoshisato Yanagisawa <yyana...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Attention: Yoshisato Yanagisawa <yyana...@chromium.org>
    Gerrit-Comment-Date: Sat, 11 Apr 2026 12:04:13 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kouhei Ueno (Gerrit)

    unread,
    Apr 11, 2026, 8:05:46 AM (3 days ago) Apr 11
    to Hiroshige Hayashizaki, Jiacheng Guo, Chromium LUCI CQ, Yoshisato Yanagisawa, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, loading...@chromium.org
    Attention needed from Hiroshige Hayashizaki, Jiacheng Guo and Yoshisato Yanagisawa

    Kouhei Ueno added 1 comment

    Patchset-level comments
    File-level comment, Patchset 4 (Latest):
    Kouhei Ueno . resolved

    gjc: can we have histograms stamp?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Hiroshige Hayashizaki
    • Jiacheng Guo
    • Yoshisato Yanagisawa
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Id4ebdb97b2d324c2d6db807eae17a9ff24ab0084
    Gerrit-Change-Number: 7750429
    Gerrit-PatchSet: 4
    Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Reviewer: Jiacheng Guo <g...@google.com>
    Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
    Gerrit-Reviewer: Yoshisato Yanagisawa <yyana...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: Jiacheng Guo <g...@google.com>
    Gerrit-Attention: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Attention: Yoshisato Yanagisawa <yyana...@chromium.org>
    Gerrit-Comment-Date: Sat, 11 Apr 2026 12:05:11 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Yoshisato Yanagisawa (Gerrit)

    unread,
    12:31 AM (11 hours ago) 12:31 AM
    to Hiroshige Hayashizaki, Jiacheng Guo, Kouhei Ueno, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, loading...@chromium.org
    Attention needed from Hiroshige Hayashizaki and Jiacheng Guo

    Yoshisato Yanagisawa voted and added 2 comments

    Votes added by Yoshisato Yanagisawa

    Code-Review+1

    2 comments

    Patchset-level comments
    Yoshisato Yanagisawa . resolved

    Sorry for the slow reply, I do not want to block your experiment but I did not convince the metrics work.

    File content/browser/loader/navigation_url_loader_impl.cc
    Line 1899, Patchset 4 (Latest): "Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);
    Yoshisato Yanagisawa . unresolved

    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?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Hiroshige Hayashizaki
    • Jiacheng Guo
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id4ebdb97b2d324c2d6db807eae17a9ff24ab0084
      Gerrit-Change-Number: 7750429
      Gerrit-PatchSet: 4
      Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Jiacheng Guo <g...@google.com>
      Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
      Gerrit-Reviewer: Yoshisato Yanagisawa <yyana...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Attention: Jiacheng Guo <g...@google.com>
      Gerrit-Attention: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Comment-Date: Tue, 14 Apr 2026 04:30:43 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Jiacheng Guo (Gerrit)

      unread,
      2:53 AM (9 hours ago) 2:53 AM
      to Hiroshige Hayashizaki, Yoshisato Yanagisawa, Kouhei Ueno, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, loading...@chromium.org
      Attention needed from Hiroshige Hayashizaki

      Jiacheng Guo added 2 comments

      File content/browser/loader/navigation_url_loader_impl.cc
      Line 1899, Patchset 4 (Latest): "Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);
      Yoshisato Yanagisawa . unresolved

      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?

      Jiacheng Guo

      Checked the behavior of

      Line 1899, Patchset 4 (Latest): "Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);
      Yoshisato Yanagisawa . unresolved

      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?

      Jiacheng Guo

      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?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Hiroshige Hayashizaki
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id4ebdb97b2d324c2d6db807eae17a9ff24ab0084
      Gerrit-Change-Number: 7750429
      Gerrit-PatchSet: 4
      Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Jiacheng Guo <g...@google.com>
      Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
      Gerrit-Reviewer: Yoshisato Yanagisawa <yyana...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Attention: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Comment-Date: Tue, 14 Apr 2026 06:52:41 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Yoshisato Yanagisawa <yyana...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Hiroshige Hayashizaki (Gerrit)

      unread,
      4:32 AM (7 hours ago) 4:32 AM
      to Yoshisato Yanagisawa, Jiacheng Guo, Kouhei Ueno, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, loading...@chromium.org
      Attention needed from Jiacheng Guo and Yoshisato Yanagisawa

      Hiroshige Hayashizaki added 1 comment

      File content/browser/loader/navigation_url_loader_impl.cc
      Line 1899, Patchset 4 (Latest): "Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);
      Yoshisato Yanagisawa . unresolved

      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?

      Jiacheng Guo

      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?

      Hiroshige Hayashizaki

      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.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Jiacheng Guo
      • Yoshisato Yanagisawa
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id4ebdb97b2d324c2d6db807eae17a9ff24ab0084
      Gerrit-Change-Number: 7750429
      Gerrit-PatchSet: 4
      Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Jiacheng Guo <g...@google.com>
      Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
      Gerrit-Reviewer: Yoshisato Yanagisawa <yyana...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Attention: Jiacheng Guo <g...@google.com>
      Gerrit-Attention: Yoshisato Yanagisawa <yyana...@chromium.org>
      Gerrit-Comment-Date: Tue, 14 Apr 2026 08:32:25 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Jiacheng Guo <g...@google.com>
      Comment-In-Reply-To: Yoshisato Yanagisawa <yyana...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Yoshisato Yanagisawa (Gerrit)

      unread,
      4:55 AM (7 hours ago) 4:55 AM
      to Hiroshige Hayashizaki, Jiacheng Guo, Kouhei Ueno, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, loading...@chromium.org
      Attention needed from Hiroshige Hayashizaki and Jiacheng Guo

      Yoshisato Yanagisawa added 2 comments

      Patchset-level comments
      Yoshisato Yanagisawa . resolved

      Still lgtm.

      File content/browser/loader/navigation_url_loader_impl.cc
      Line 1899, Patchset 4 (Latest): "Navigation.URLLoader.OnAcceptCHFrameReceived.RestartTime", restart_time);
      Yoshisato Yanagisawa . unresolved

      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?

      Jiacheng Guo

      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?

      Hiroshige Hayashizaki

      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.

      Yoshisato Yanagisawa

      Thanks for the explanation. That makes sense to me, then.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Hiroshige Hayashizaki
      • Jiacheng Guo
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id4ebdb97b2d324c2d6db807eae17a9ff24ab0084
      Gerrit-Change-Number: 7750429
      Gerrit-PatchSet: 4
      Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Jiacheng Guo <g...@google.com>
      Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
      Gerrit-Reviewer: Yoshisato Yanagisawa <yyana...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Attention: Jiacheng Guo <g...@google.com>
      Gerrit-Attention: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Comment-Date: Tue, 14 Apr 2026 08:55:08 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Jiacheng Guo <g...@google.com>
      Comment-In-Reply-To: Hiroshige Hayashizaki <hiro...@chromium.org>
      Comment-In-Reply-To: Yoshisato Yanagisawa <yyana...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages