Spec
Explainer: https://github.com/spanicker/longtasks
Discussed the API with W3C Web-Perf group at TPAC. Strong interest in this API from developers (eg. Facebook, msn.com), analytics / RUM vendors (eg. SOASTA) and ads vendors (Google Ads).
Summary
A new performance API to enable applications to detect presence of “long tasks” that monopolize the UI thread for extended periods of time and block other critical tasks from being executed - e.g. reacting to user input.
Preliminary data confirms that the API is very promising as an indicator of how performance-tuned the site is, and the user's experience on it. Running an Origin Trial is the next step here.
Link to “Intent to Implement” blink-dev discussion
Goals for experimentation
Validate whether the API is a good problem signal for user responsiveness
Validate whether the API is a good problem signal for (ir)responsible third-party content
Inform discussion on types of attribution that should be surfaced for V2 API
Experimental timeline
Oct 6: Enabled Chrome 55 branch Dec 6: Chrome 55 Stable Jan 31st: Chrome 56 Stable: 7 weeks of 55 stable channel feedback Mar 14 2017 Chrome 57 Stable: 13 weeks of 55 stable channel feedback; 4 weeks of 56 stable channel feedback.
Alternately if approvals are slow:
Nov 4: Enabled Chrome 56
Jan 31st: Chrome 56 Stable
Mar 14 2017 Chrome 57 Stable: 4 weeks of 56 stable channel feedback.
Apr 25 2017 Chrome 58 Stable: 10 weeks of 56 stable channel feedback; 5 weeks of 57 stable channel feedback.
Any risks when the experiment finishes?
No, this is a monitoring API.
Reason this experiment is being extended
N/A
Ongoing technical constraints
None.
Will this feature be supported on all five Blink platforms supported by Origin Trials (Windows, Mac, Linux, Chrome OS, and Android)?
Yes.
OWP launch tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=651926
Contact emails:
--
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+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
LGTM3
Excited to hear about the origin trial here. Two quick questions:1) What resolution did you guys come to around handling things other than scripts (eg style and layout)? Will this API at least expose the existence of such tasks (even if it is not able to attribute them). Put another way -- is this origin trial a substitution for the periodic heartbeat approach (which is able to detect any instance where the main thread is occupied). It might be helpful to document a bit about the current state of the evolution of the API to focus the feedback of any folks using the experiment.2) Is there any way to configure a corporate chrome config to explicitly allow this feature for only FB origins? We'd like to be able to test this feature on a large percentage of FB employees, even if the experiment ends up getting throttled.
Yeah, another challenge here is that in order for us to deploy this we'd really want to be able to limit domains to ones under our control. Presumably there is less privacy and security scrutiny for experimental web features that are behind a flag. Even for things gated by an origin trial we'd want to make sure that if the origin trial were to be disabled the feature would also be disabled. We'd be OK opening the feature to domains we own, but we wouldn't want FB employees to be exposed to a different set of features than the general population.One other gating related challenge I noticed -- It seems like origin trials does not allow one to get an origin trial for a wildcard domain, such as *.facebook.com. This makes it difficult for us to do testing because each engineer's development version of FB has a unique domain, eg, www.bmaurer.sb.facebook.com. We also use subdomains for other purposes such as our @Work feature (mycorp.facebook.com is the Facebook version for mycorp).None of these are reasons not to experiment -- but in the long run hoping this feedback will make it easier to do testing on large sites such as Facebook.
On Monday, October 3, 2016 at 7:15:32 AM UTC-7, Ian Clelland wrote:On Sat, Oct 1, 2016 at 6:57 PM, <ben.m...@gmail.com> wrote:Excited to hear about the origin trial here. Two quick questions:1) What resolution did you guys come to around handling things other than scripts (eg style and layout)? Will this API at least expose the existence of such tasks (even if it is not able to attribute them). Put another way -- is this origin trial a substitution for the periodic heartbeat approach (which is able to detect any instance where the main thread is occupied). It might be helpful to document a bit about the current state of the evolution of the API to focus the feedback of any folks using the experiment.
2) Is there any way to configure a corporate chrome config to explicitly allow this feature for only FB origins? We'd like to be able to test this feature on a large percentage of FB employees, even if the experiment ends up getting throttled.
For local use, where you can control all of the clients, this should be possible. Even without the origin trial running, there should be a setting in chrome://flags to enable the API for all origins.Looking at https://www.chromium.org/administrators/policy-list-3, we might have to add explicit support for enabling experimental features -- akin to the EnableDeprecatedWebPlatformFeatures flag, but for proposed features, rather than deprecated ones.
--
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+unsubscribe@chromium.org.
1) What resolution did you guys come to around handling things other than scripts (eg style and layout)? Will this API at least expose the existence of such tasks (even if it is not able to attribute them). Put another way -- is this origin trial a substitution for the periodic heartbeat approach (which is able to detect any instance where the main thread is occupied). It might be helpful to document a bit about the current state of the evolution of the API to focus the feedback of any folks using the experiment.Good question, I will update the explainer and add a new section on Origin Trial, and what we are trying to answer there.The short answer is that this not a drop-in replacement for heartbeat approach for you at the moment, as we only show 50ms tasks currently.The longer term goal is to provide a replacement for such workarounds, however this requires further security review.
2) Is there any way to configure a corporate chrome config to explicitly allow this feature for only FB origins? We'd like to be able to test this feature on a large percentage of FB employees, even if the experiment ends up getting throttled.For local use, where you can control all of the clients, this should be possible. Even without the origin trial running, there should be a setting in chrome://flags to enable the API for all origins.Looking at https://www.chromium.org/administrators/policy-list-3, we might have to add explicit support for enabling experimental features -- akin to the EnableDeprecatedWebPlatformFeatures flag, but for proposed features, rather than deprecated ones.Thanks Ian for chiming is here.I'll start a separate thread looping in appropriate folks on how to go about the Origin Trial / direct flag experiment. (Thanks for your interest in experimenting with this!)The Origin Trials framework is quite new, so some speed bumps are expected and feedback is certainly appreciated.
1) What resolution did you guys come to around handling things other than scripts (eg style and layout)? Will this API at least expose the existence of such tasks (even if it is not able to attribute them). Put another way -- is this origin trial a substitution for the periodic heartbeat approach (which is able to detect any instance where the main thread is occupied). It might be helpful to document a bit about the current state of the evolution of the API to focus the feedback of any folks using the experiment.Good question, I will update the explainer and add a new section on Origin Trial, and what we are trying to answer there.The short answer is that this not a drop-in replacement for heartbeat approach for you at the moment, as we only show 50ms tasks currently.The longer term goal is to provide a replacement for such workarounds, however this requires further security review.Our heartbeat approach also ends up having a low resolution, in the ballpark of 50 ms, so we might actually be able to use it as a drop in. My main concern was if long tasks will allow visibility into all tasks on the main thread, even if they are things like style/layout or even another tab's JS. Obviously such tasks might not have a clear name, but heartbeat at least allows us to see the existence of such events.
2) Is there any way to configure a corporate chrome config to explicitly allow this feature for only FB origins? We'd like to be able to test this feature on a large percentage of FB employees, even if the experiment ends up getting throttled.For local use, where you can control all of the clients, this should be possible. Even without the origin trial running, there should be a setting in chrome://flags to enable the API for all origins.Looking at https://www.chromium.org/administrators/policy-list-3, we might have to add explicit support for enabling experimental features -- akin to the EnableDeprecatedWebPlatformFeatures flag, but for proposed features, rather than deprecated ones.Thanks Ian for chiming is here.I'll start a separate thread looping in appropriate folks on how to go about the Origin Trial / direct flag experiment. (Thanks for your interest in experimenting with this!)The Origin Trials framework is quite new, so some speed bumps are expected and feedback is certainly appreciated.Awesome, I'm more than happy to talk with folks about the challenges FB faces here.
-b--
-b
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
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.