Contact emails
[email protected], [email protected]

Explainer
https://github.com/WICG/delayed-message-timing/blob/main/loaf-congested-moments/explainer.md


Specification
No information provided


Summary
This feature extends the existing Long Animation Frames (LoAF) API to Web 
Workers. Today LoAF reports only on the main thread and is anchored to 
rendering frames, so it cannot observe work that blocks a worker's event loop. 
With this change, a long task that blocks a worker's event loop is reported as 
a long-animation-frame entry that is observable from inside the worker via 
PerformanceObserver, with the usual per-script attribution. The prototype 
starts with dedicated workers, reporting a single long task that blocks the 
worker's event loop. The broader goal is to surface congested moments, 
intervals where an event loop remains busy and runnable work is delayed. This 
includes detecting a flood of many small tasks that keeps the event loop busy 
and reporting it as a long-animation-frame entry, as well as supporting the 
main thread. This is planned as follow-up work.


Blink component
Blink>PerformanceAPIs


Web Feature ID
long-animation-frames


Motivation
Web apps increasingly offload work to Web Workers, but a worker that blocks its 
own event loop is invisible to today's performance APIs. Workers usually have 
no rendering lifecycle, so there are no animation frames for LoAF to anchor to, 
and the main-thread LoAF and Long Tasks APIs cannot observe work running in a 
worker. As a result, a long task in a worker, which delays incoming message 
events and any OffscreenCanvas rendering, goes unreported even though it 
directly degrades responsiveness. Rather than introduce a new API, we extend 
LoAF, because detecting a long animation frame and detecting a congested moment 
are fundamentally the same task: identifying bottlenecks in an event loop and 
attributing them to the responsible scripts. Reusing the existing API gives 
developers a single, familiar mechanism for diagnosing blocking work across 
both documents and workers.


Initial public proposal
https://github.com/WICG/delayed-message-timing/blob/main/loaf-congested-moments/explainer.md


Goals for experimentation
None


Requires code in //chrome?
False


Tracking bug
https://issues.chromium.org/issues/534893134


Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5387465121726464?gate=4706842090536960


This intent message was generated by Chrome Platform Status.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a5ac7f8.68e56e23.38c8c.019c.GAE%40google.com.

Reply via email to