LoAF: Report worker congestion from a saturated task queue [chromium/src : main]

0 views
Skip to first unread message

Joone Hur (Gerrit)

unread,
Jul 30, 2026, 2:34:48 AM (yesterday) Jul 30
to Nate Chapin, Scott Haseley, android-bu...@system.gserviceaccount.com, Noam Rosenthal, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, scheduler...@chromium.org, loading...@chromium.org, gavinp...@chromium.org, devtools-re...@chromium.org, kinuko...@chromium.org, chikamu...@chromium.org, scheduler-...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
Attention needed from Noam Rosenthal and Scott Haseley

Joone Hur added 2 comments

Patchset-level comments
File-level comment, Patchset 25:
Joone Hur . resolved

As discussed, I've added queue_time to TaskTimeObserver::DidProcessTask and removed base::TaskObserver from the LoAF monitor, so the worker congestion monitor uses a single task observer to get the queue time. PTAL.

File third_party/blink/renderer/core/frame/animation_frame_timing_monitor.h
Line 87, Patchset 20: // base::TaskObserver. Captures each task's scheduled start time (queue_time /
Noam Rosenthal . resolved

Maybe we can add queue_time to TaskTimeObserver instead? WDYT @shas...@chromium.org

Scott Haseley

Sounds reasonable to me. I guess the caveat is it's not always set, but probably fine to document given GetDesiredExecutionTime() has the same behavior.

It would be good to use one or the other rather than a different type of observer for main vs. worker, if possible. IIRC the main difference is TaskTimeObserver ignores tasks that run in nested run loops, which should only affect the main thread (% devtools pausing, I think).

Joone Hur

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Noam Rosenthal
  • Scott Haseley
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: I69beb4a72021b2c4ac094c4ae5d14deabe796739
Gerrit-Change-Number: 8132581
Gerrit-PatchSet: 26
Gerrit-Owner: Joone Hur <joon...@microsoft.com>
Gerrit-Reviewer: Joone Hur <joon...@microsoft.com>
Gerrit-Reviewer: Noam Rosenthal <nrose...@google.com>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-CC: Scott Haseley <shas...@chromium.org>
Gerrit-Attention: Scott Haseley <shas...@chromium.org>
Gerrit-Attention: Noam Rosenthal <nrose...@google.com>
Gerrit-Comment-Date: Thu, 30 Jul 2026 06:34:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Scott Haseley <shas...@chromium.org>
Comment-In-Reply-To: Noam Rosenthal <nrose...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Scott Haseley (Gerrit)

unread,
Jul 30, 2026, 5:23:03 PM (12 hours ago) Jul 30
to Joone Hur, Nate Chapin, android-bu...@system.gserviceaccount.com, Noam Rosenthal, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, scheduler...@chromium.org, loading...@chromium.org, gavinp...@chromium.org, devtools-re...@chromium.org, kinuko...@chromium.org, chikamu...@chromium.org, scheduler-...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
Attention needed from Joone Hur and Noam Rosenthal

Scott Haseley added 4 comments

Patchset-level comments
File-level comment, Patchset 26 (Latest):
Scott Haseley . resolved

LG % a few comments. I'll wait for Noam to take another pass, but the guts of it LG.

File base/task/sequence_manager/task_time_observer.h
Line 31, Patchset 26 (Latest): TimeTicks queue_time) = 0;
Scott Haseley . unresolved

Can we rename this:

```suggestion
TimeTicks desired_execution_time) = 0;
```

given it maps to `GetDesiredExecutionTime()`?

File third_party/blink/renderer/core/frame/animation_frame_timing_monitor.cc
Line 81, Patchset 26 (Latest): FinalizeCongestedMoment();
Scott Haseley . unresolved

Will this entry be consumed by anything? I think the worker will stop running tasks after this?

Line 272, Patchset 26 (Latest): // A congested moment is an interval during which the task queue stays
Scott Haseley . unresolved

nit: there are multiple task queues with different priorities, so "the task queue" is a bit of a simplification. It's probably worth rephrasing (here and below), and I think it's find, but please double-check that this matches the model you're using here (i.e. `desired_execution_time` of `task_N+1` can be less than `desired_execution_time` of `task_N`).

Open in Gerrit

Related details

Attention is currently required from:
  • Joone Hur
  • Noam Rosenthal
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • 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: I69beb4a72021b2c4ac094c4ae5d14deabe796739
    Gerrit-Change-Number: 8132581
    Gerrit-PatchSet: 26
    Gerrit-Owner: Joone Hur <joon...@microsoft.com>
    Gerrit-Reviewer: Joone Hur <joon...@microsoft.com>
    Gerrit-Reviewer: Noam Rosenthal <nrose...@google.com>
    Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Joone Hur <joon...@microsoft.com>
    Gerrit-Attention: Noam Rosenthal <nrose...@google.com>
    Gerrit-Comment-Date: Thu, 30 Jul 2026 21:22:49 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Noam Rosenthal (Gerrit)

    unread,
    Jul 30, 2026, 5:27:12 PM (12 hours ago) Jul 30
    to Joone Hur, Scott Haseley, Nate Chapin, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, scheduler...@chromium.org, loading...@chromium.org, gavinp...@chromium.org, devtools-re...@chromium.org, kinuko...@chromium.org, chikamu...@chromium.org, scheduler-...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Joone Hur

    Noam Rosenthal voted and added 1 comment

    Votes added by Noam Rosenthal

    Code-Review+1

    1 comment

    Patchset-level comments
    Noam Rosenthal . resolved

    Really nice work.
    I would want to see how the processing model looks like in the spec, but iterating on top of this prototype seems good.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Joone Hur
    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: I69beb4a72021b2c4ac094c4ae5d14deabe796739
      Gerrit-Change-Number: 8132581
      Gerrit-PatchSet: 26
      Gerrit-Owner: Joone Hur <joon...@microsoft.com>
      Gerrit-Reviewer: Joone Hur <joon...@microsoft.com>
      Gerrit-Reviewer: Noam Rosenthal <nrose...@google.com>
      Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Attention: Joone Hur <joon...@microsoft.com>
      Gerrit-Comment-Date: Thu, 30 Jul 2026 21:26:53 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages