Existing metrics are a bit too low level. We should add - Author parse time before FCP - UpdateStyle time before FCP These metrics will help track more user-perceived versions of css loading metrics.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/37627d6f7cb982de2c40de899bd18b17c6d6943d commit 37627d6f7cb982de2c40de899bd18b17c6d6943d Author: csharrison <csharrison@chromium.org> Date: Thu Nov 17 14:40:32 2016 Add CSSTiming to collect aggregate PLT-level stats about CSS. We have histograms on micro-metrics like per stylesheet parse time. This patch adds histograms of how much aggregate time was spent parsing CSS before the first paint. This gives us a much better metric for tracking improvements to CSS related to loading, as improvements directly map to improvements to first contentful paint. BUG= 642722 , 666030 Review-Url: https://codereview.chromium.org/2468913002 Cr-Commit-Position: refs/heads/master@{#432868} [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/common/page_load_metrics/page_load_metrics_messages.h [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/common/page_load_metrics/page_load_timing.cc [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/common/page_load_metrics/page_load_timing.h [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc [add] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/test/data/page_load_metrics/page_with_css.html [add] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/test/data/page_load_metrics/simple.css [add] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/chrome/test/data/page_load_metrics/simple.css.mock-http-headers [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/third_party/WebKit/Source/core/css/BUILD.gn [add] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/third_party/WebKit/Source/core/css/CSSTiming.cpp [add] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/third_party/WebKit/Source/core/css/CSSTiming.h [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/third_party/WebKit/Source/core/css/StyleSheetContents.cpp [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/third_party/WebKit/Source/core/timing/PerformanceTiming.cpp [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/third_party/WebKit/Source/core/timing/PerformanceTiming.h [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/third_party/WebKit/Source/web/WebPerformance.cpp [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/third_party/WebKit/public/web/WebPerformance.h [modify] https://crrev.com/37627d6f7cb982de2c40de899bd18b17c6d6943d/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/246860b48c9fcfca69448d7900f58cae13789a79 commit 246860b48c9fcfca69448d7900f58cae13789a79 Author: csharrison <csharrison@chromium.org> Date: Wed Dec 07 17:19:51 2016 Add metrics for style update time before FCP. BUG= 666030 Review-Url: https://codereview.chromium.org/2533783003 Cr-Commit-Position: refs/heads/master@{#436989} [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/chrome/common/page_load_metrics/page_load_metrics_messages.h [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/chrome/common/page_load_metrics/page_load_timing.cc [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/chrome/common/page_load_metrics/page_load_timing.h [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/chrome/test/data/page_load_metrics/page_with_css.html [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/third_party/WebKit/Source/core/css/CSSTiming.cpp [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/third_party/WebKit/Source/core/css/CSSTiming.h [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/third_party/WebKit/Source/core/css/StyleSheetContents.cpp [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/third_party/WebKit/Source/core/dom/Document.cpp [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/third_party/WebKit/Source/core/timing/PerformanceTiming.cpp [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/third_party/WebKit/Source/core/timing/PerformanceTiming.h [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/third_party/WebKit/Source/web/WebPerformance.cpp [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/third_party/WebKit/public/web/WebPerformance.h [modify] https://crrev.com/246860b48c9fcfca69448d7900f58cae13789a79/tools/metrics/histograms/histograms.xml
These are all the aggregate metrics we planned on adding.
Comment 1 by bugdroid1@chromium.org
, Nov 17 2016