Intent to Experiment: EventTiming

225 views
Skip to first unread message

n...@chromium.org

unread,
Jun 6, 2018, 10:21:53 AM6/6/18
to blink-dev, Timothy Dresser, Liquan (Max) Gu

Contact emails

n...@chromium.org, ma...@chromium.org, tdre...@chromium.org


Spec

https://github.com/WICG/event-timing


Summary

Monitoring event latency today requires an event listener. This precludes measuring event latency early in page load, and adds unnecessary performance overhead. The Event Timing API gives developers insight into the latency of a subset of events triggered by user interaction. In order to capture user pain caused by slow initial interactions, the event timing API includes First Input Timing.


Link to “Intent to Implement” blink-dev discussion

https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/event$20timing%7Csort:date/blink-dev/QNE6TVQve-0/vITXx1N5BQAJ


Goals for experimentation

We are looking to gain insight on the usefulness of the Event Timing API and in particular of First Input Timing. We expect feedback from developers regarding the correctness of the API, and we plan to compare First Input Timing with Time to Interactive.


Experimental timeline

Ideally, the experiment will begin on M68 Beta and end after M69.


Any risks when the experiment finishes?

The risks due to the end of experiment are low because this API should only be used to measure performance.


Ongoing technical constraints

None


Debuggability

When enabled, this is exposed via javascript:

const performanceObserver = new PerformanceObserver …

performanceObserver.observe({entryTypes:['event']});


Will this feature be supported on all five Blink platforms supported by Origin Trials (Windows, Mac, Linux, Chrome OS, and Android)?

Yes.


Link to entry on the feature dashboard

https://www.chromestatus.com/feature/5167290693713920


Rick Byers

unread,
Jun 6, 2018, 12:10:59 PM6/6/18
to n...@chromium.org, blink-dev, Tim Dresser, Liquan (Max) Gu
I'm excited to see this.
Is there a specific customer you can point to who is interested in taking advantage of the trial and committed to giving us feedback on the value of the API?

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/24d3456d-7bef-4df7-ad83-7fe3b3d3d9f4%40chromium.org.

Yoav Weiss

unread,
Jun 7, 2018, 12:26:55 PM6/7/18
to Rick Byers, n...@chromium.org, blink-dev, Tim Dresser, Liquan (Max) Gu
<akamai-hat>
Akamai is interested in gathering EventTiming and FID data. I asked internally, and we can commit to gather and publish those results, at least for our own domains.
</akamai-hat>

Following a conversation at the API owner meeting (Present: Alex, Daniel, Chris, Jochen, Philip, Rick and I) and given that there is at least one customer, LGTM to go ahead with the trial.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8FM92aYcJBj9Z0J3sDbcn9wgG2qGusFAnZojJxDv6YPQ%40mail.gmail.com.

n...@fb.com

unread,
Jun 8, 2018, 1:17:03 PM6/8/18
to blink-dev, rby...@google.com, n...@chromium.org, tdre...@chromium.org, ma...@chromium.org
I think we'd be interested in experimenting with this too and we'd be more than happy to share feedback about usefulness after we've run an experiment with it :)

smaug

unread,
Jun 8, 2018, 3:50:54 PM6/8/18
to n...@chromium.org, blink-dev, Timothy Dresser, Liquan (Max) Gu
FWIW, I haven't managed to figure out yet what the proposed API even tries to capture/do.
I would suggest to clarify that and have a some kind of specification before experimenting too much.
(especially the meaning of 'duration' property is totally unclear)

-Olli


On 06/06/2018 10:21 AM, n...@chromium.org wrote:
> Contact emails
>
> n...@chromium.org <mailto:n...@chromium.org>, ma...@chromium.org <mailto:ma...@chromium.org>, tdre...@chromium.org <mailto:tdre...@chromium.org>
> https://www.chromestatus.com/feature/5167290693713920
>
>
> --
> 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 blink-dev+...@chromium.org
> <mailto:blink-dev+...@chromium.org>.
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/24d3456d-7bef-4df7-ad83-7fe3b3d3d9f4%40chromium.org?utm_medium=email&utm_source=footer>.

Timothy Dresser

unread,
Jun 8, 2018, 4:23:06 PM6/8/18
to smaug, n...@chromium.org, blink-dev, Liquan (Max) Gu
Regarding the definition of duration, I've responded to the issue here, and am working on determining how to iron this out.

Duration measured from the event timestamp until a frame is produced, or when a frame would have been produced, had rendering occurred.
This is a bit tricky to spec, but we're working on it.

Are there other parts of the spec you find unclear? If so, please file more issues!

zhou...@gmail.com

unread,
Dec 20, 2018, 3:09:01 AM12/20/18
to blink-dev, tdre...@chromium.org, ma...@chromium.org
Why "chrome for android" and "chrome for windows" not support this feature?



在 2018年6月6日星期三 UTC+8下午10:21:53,n...@chromium.org写道:

PhistucK

unread,
Dec 20, 2018, 6:29:14 AM12/20/18
to zhou...@gmail.com, blink-dev, Timothy Dresser, ma...@chromium.org
It is not enabled by default anywhere yet - did you sign up for the origin trial?

PhistucK


--
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 blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1845d541-45b5-4b06-8716-0d7d7644dc82%40chromium.org.

zhou...@gmail.com

unread,
Dec 20, 2018, 7:32:25 AM12/20/18
to blink-dev

Do you mean that I need to apply for the origin trial. 

if i need observe event timing in www.tmall.com, then i need sign up this web origin?

But, here is my test result:

It's enabled by default in chrome for mac in any web sites:


WX20181220-201649@2x.png



and not enabled by default in chrome for windows:

WX20181220-202236@2x.png




在 2018年12月20日星期四 UTC+8下午7:29:14,PhistucK写道:

zhou...@gmail.com

unread,
Dec 20, 2018, 7:39:30 AM12/20/18
to blink-dev
Sorry, the first image should be:

WX20181220-203827@2x.png



在 2018年12月20日星期四 UTC+8下午8:32:25,周祺写道:
在 2018年12月20日星期四 UTC+8下午8:32:25,周祺写道:

PhistucK

unread,
Dec 20, 2018, 12:01:53 PM12/20/18
to 周祺, blink-dev
Did you happen to enable experimental web platform features (chrome://flags/#enable-experimental-web-platform-features) on your Chrome for macOS? If so, you will get event timing, as well as many other normally disabled-by-default features.

PhistucK


zhou...@gmail.com

unread,
Dec 20, 2018, 9:47:27 PM12/20/18
to blink-dev
Sorry, I forgot to check this option. Yes, i have turned this option on.

Thank you very much.

在 2018年12月21日星期五 UTC+8上午1:01:53,PhistucK写道:

zhou...@gmail.com

unread,
Jul 25, 2019, 8:32:19 AM7/25/19
to blink-dev, tdre...@chromium.org, ma...@chromium.org
Trial for EventTiming is complete, will chrome officially support this feature in the next version?

Liquan (Max) Gu

unread,
Jul 25, 2019, 10:53:32 AM7/25/19
to Nicolás Peña, char...@chromium.org, blink-dev, Timothy Dresser, maxlgu
I would defer the question to npm@ and charliea@.

Nicolás Peña

unread,
Jul 25, 2019, 11:06:53 AM7/25/19
to blink-dev, n...@chromium.org, char...@chromium.org, tdre...@chromium.org, ma...@chromium.org
We are planning on shipping First Input Timing on Chrome 77, but are not ready to ship full Event Timing yet.

zhou...@gmail.com

unread,
Jul 28, 2019, 12:35:35 AM7/28/19
to blink-dev, n...@chromium.org, char...@chromium.org, tdre...@chromium.org, ma...@chromium.org

Thank you for your reply. We hope that our products can respond to any input within 100ms. For this reason, we implement an experience monitoring system based on the EventTiming API:

In practice we found EventTiming can accurately reflect the user's sensory experience. We have reduced the error rate of ">100ms" from 20% to 9%.

We are not shipping full Event Timing yet because we thought it would not be very useful without eventCounts and possibly additional attribution about what caused the event.

In response to this, I think Firstly we need to know:

  1. How much probability our products will make users feel delay

  2. What the users is doing when they are caused the event

And even further is the kernel directly tell the developer where the problem is.


Currently this API can at least tell developers whether the product has performance issues, This is already very valuable.


For the second point, the biggest problem of this API is that it can't tell the developer which node the user has operated when the delay occurs. For this problem, our solution is to record every operation of the user. When the delay occurs, we will report the last operated dom's XPath. So that through the XPath and the event name returned by the API, we can find the corresponding code, and then analyze and optimize through the Chrome's timeline:


I hope that the kernel developers can continue to optimize this API. In addition to the first input delay, user feeling response delay when use the product may has a greater impact on the final conversion. For now, can i ask you to extend the time of the Origin Trail? There is no better alternative API.

Thanks for your great job.



在 2019年7月25日星期四 UTC+8下午11:06:53,Nicolás Peña写道:

Nicolás Peña

unread,
Aug 6, 2019, 1:43:13 PM8/6/19
to blink-dev, n...@chromium.org, char...@chromium.org, tdre...@chromium.org, ma...@chromium.org
Thanks for the feedback! We recommend using first input timing for now as a substitute for now. Keep an eye on Event Timing shipping in the future!
Reply all
Reply to author
Forward
0 new messages