WICG / WICG/delayed-message-timing

Feedback about message-event-timing proposal

Open
#3 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
12
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Feedback on this proposal

  • I like and appreciate that this is an extension of Event Timing, rather than addition to it. The model of reporting events is similar, but the attribution details and reporting details differ too much to merge.

  • I like that there is 200ms durationThreshold. I don't know if that is the right number, but it seems valuable to me to throttle at a fairly large number.

    • ...However, the duration of a message is the combined sum of time that include "input delay". I worry that a single long message (serialization or processing time) might block the message event queue for many other fast events, and each one would potentially pass the 200ms duration.
    • In other words, is there any way to identify a specific message that backed up the queue, rather than all messages that suffered because of a backed up queue?
    • An even simpler example: any long task on a receiving thread would cause all pending messages to become long and reported. This would place blame in the wrong area.
  • You say:

    most postMessage events are ultimately triggered by user interaction

    but I am not sure if this is true? And even if it were, your proposal does not limit messages sent from the context a truster UI event listener / interaction, and exposes an interactionId of 0 always. I think this means that a developer can send very many messages programatically, and then expect careful timing for them.


Net/net, I think I like the design, and some of the attributes you consider reporting sound like useful data which I can see helping specific app developers.

On the other hand, I think that the related proposal for congested moments fundamentally addresses some of the above concerns. I wonder if the extra attribution data you need cannot be added to the "Long Scripts" attribution metadata.

Could it be useful to loop back to this proposal after making progress on this other one and see how many gaps remain?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with message-event-timing/explainer.md, then compare loaf-congested-moments/explainer.md and the referenced Long Scripts attribution metadata. Examine whether queue-backup attribution and programmatic-message timing gaps are covered. Done means documenting the remaining design gaps and a clear direction for the proposal.

Written by the indexing model from the issue text.

Assessment

Domain
api, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.