{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleChrome/lighthouse/issues/3730","repository_url":"https://api.github.com/repos/GoogleChrome/lighthouse","labels_url":"https://api.github.com/repos/GoogleChrome/lighthouse/issues/3730/labels{/name}","comments_url":"https://api.github.com/repos/GoogleChrome/lighthouse/issues/3730/comments","events_url":"https://api.github.com/repos/GoogleChrome/lighthouse/issues/3730/events","html_url":"https://github.com/GoogleChrome/lighthouse/pull/3730","id":270831805,"number":3730,"title":"core(predictive-perf): predict FCP instead of FMP","user":{"login":"patrickhulce","id":2301202,"avatar_url":"https://avatars2.githubusercontent.com/u/2301202?v=4","gravatar_id":"","url":"https://api.github.com/users/patrickhulce","html_url":"https://github.com/patrickhulce","followers_url":"https://api.github.com/users/patrickhulce/followers","following_url":"https://api.github.com/users/patrickhulce/following{/other_user}","gists_url":"https://api.github.com/users/patrickhulce/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickhulce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickhulce/subscriptions","organizations_url":"https://api.github.com/users/patrickhulce/orgs","repos_url":"https://api.github.com/users/patrickhulce/repos","events_url":"https://api.github.com/users/patrickhulce/events{/privacy}","received_events_url":"https://api.github.com/users/patrickhulce/received_events","type":"User","site_admin":false},"labels":[{"id":721845343,"url":"https://api.github.com/repos/GoogleChrome/lighthouse/labels/waiting4reviewer","name":"waiting4reviewer","color":"5e1596","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-11-02T22:46:26Z","updated_at":"2017-11-06T21:55:47Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/GoogleChrome/lighthouse/pulls/3730","html_url":"https://github.com/GoogleChrome/lighthouse/pull/3730","diff_url":"https://github.com/GoogleChrome/lighthouse/pull/3730.diff","patch_url":"https://github.com/GoogleChrome/lighthouse/pull/3730.patch"},"body":"closes #3671 \r\ncloses #3593 \r\n\r\nMinimal changes required here for converting FMP to FCP, basically just move the time boundary to FCP, removing the CPU layout tasks, and adding in the EvaluateScript tasks of blocking scripts (which really could have been part of FMP prediction too).\r\n\r\nI also added redirects support since FCP was more radically impacted by missing redirect support than FMP was. I dug into a lot of the larger error cases (where error was >1s) and at this point small differences should not be used for decision making. \r\n\r\nSome notable examples:\r\n\r\n* DevTools throttling limitations and approximation of just adding 600ms delay to everything greatly exaggerates impact of redirects (i.e. 3 redirects = 1.8 s instead of the correct result of ~\r\n* Server response time was measured in seconds and had variability i.e. returned in 5s for unthrottled case but only 3 seconds in throttled case\r\n\r\nOverall, we're about as accurate as we were with FMP, higher error at the tail but lower error for most sites. Further progress on accuracy will need higher fidelity throttling like WPT.\r\n\r\n### Accuracy comparison\r\n| Metric | Value on 99% | Value on 95% | Value on 90% |\r\n| -- | -- | -- | -- |\r\n| FMP - spearman's rho | .805 | .833 | .854 |\r\n| FCP - spearman's rho | .792 | .832 | .850 |\r\n| FMP - MAPE % | 27.44% | 24.11% | 21.94% |\r\n| FCP - MAPE % | 29.03% | 21.72% | 19.65% |\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/GoogleChrome/lighthouse/issues/comments/342300751","html_url":"https://github.com/GoogleChrome/lighthouse/pull/3730#issuecomment-342300751","issue_url":"https://api.github.com/repos/GoogleChrome/lighthouse/issues/3730","id":342300751,"user":{"login":"patrickhulce","id":2301202,"avatar_url":"https://avatars2.githubusercontent.com/u/2301202?v=4","gravatar_id":"","url":"https://api.github.com/users/patrickhulce","html_url":"https://github.com/patrickhulce","followers_url":"https://api.github.com/users/patrickhulce/followers","following_url":"https://api.github.com/users/patrickhulce/following{/other_user}","gists_url":"https://api.github.com/users/patrickhulce/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickhulce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickhulce/subscriptions","organizations_url":"https://api.github.com/users/patrickhulce/orgs","repos_url":"https://api.github.com/users/patrickhulce/repos","events_url":"https://api.github.com/users/patrickhulce/events{/privacy}","received_events_url":"https://api.github.com/users/patrickhulce/received_events","type":"User","site_admin":false},"created_at":"2017-11-06T21:55:47Z","updated_at":"2017-11-06T21:55:47Z","author_association":"MEMBER","body":"> I'm interested in keeping the FMP prediction, for now.\r\n\r\nI added back the prediction functions so we don't have to dig those up again, but I'm inclined to reduce churn in exposing until we have a concrete plan for what we expose ala #3761 "}}
{"actor":{"display_login":"patrickhulce"}}