New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 615605 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Provide firstMeaningfulPaint metrics to a lower-overhead category

Project Member Reported by paulir...@chromium.org, May 28 2016

Issue description

We're using the new fMP definition heavily in Lighthouse.
Unfortunately the disabled-by-default-blink.debug.layout category is very heavy and can lead to 200MB traces. 
Attached is a screenshot that demonstrates the size of the debug.layout category.

I'm curious if the page height and text counters can be made available elsewhere without the LayoutTree dumps?


 
Screen Shot 2016-05-27 at 10.36.48 PM.png
187 KB View Download
The trace event is logged with blink, benchmark, and blink.debug.layout categories but LayoutAnalyzer is used only when blink.debug.layout category is enabled.

Can we enable LayoutAnalyzer on the other two categories too?
benjhayden@, WDYT?

LayoutAnalyzer is a moderately intrusive addition to the layout engine. If it were added as it is now to the benchmark category, then I would worry that it would distort existing benchmark-based metrics such as those in telemetry.

Would it be ok if the blink.debug.layout category were split into blink.debug.layout.counters for LayoutAnalyzer and blink.debug.layout.trees for the LayoutTree snapshots?
Alternatively, the LayoutTree snapshots could simply be moved to blink.debug.layout.trees without changing the LayoutAnalyzer category from blink.debug.layout.
> Alternatively, the LayoutTree snapshots could simply be moved to blink.debug.layout.trees

This seems fine with me, not knowing any details about the overhead. 

Anyone that wants to calculate fMP will need LayoutAnalyzer on to get these counters, so we can separately look at measuring and reducing the overhead required for those values.


Project Member

Comment 4 by bugdroid1@chromium.org, Jun 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14e0fafb129df3c991052749c7d426aa0ddcc370

commit 14e0fafb129df3c991052749c7d426aa0ddcc370
Author: ksakamoto <ksakamoto@chromium.org>
Date: Wed Jun 08 04:27:46 2016

Move LayoutTree snapshots to blink.debug.layout.trees category

This reduces overhead of blink.debug.layout category, which is
needed to compute First Meaningful Paint.

BUG= 615605 

Review-Url: https://codereview.chromium.org/2046973004
Cr-Commit-Position: refs/heads/master@{#398481}

[modify] https://crrev.com/14e0fafb129df3c991052749c7d426aa0ddcc370/third_party/WebKit/Source/core/frame/FrameView.cpp

Status: Fixed (was: Assigned)
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e598d9f6f9d6bf4cd90c46503cb0c207791a02db

commit e598d9f6f9d6bf4cd90c46503cb0c207791a02db
Author: ksakamoto <ksakamoto@chromium.org>
Date: Fri Jun 17 14:57:03 2016

Reland: [PCv2] Add tracing category needed for computing ttfmp

The time-to-first-meaningful-paint computation requires extra tracing categories to be enabled.
This CL enables recording of the category in PCv2.

https://github.com/catapult-project/catapult/blob/master/tracing/tracing/metrics/system_health/first_paint_metric.html

This is a reland of https://codereview.chromium.org/2049593002/ with
disabling the benchmark on reference build. In the reference build, the
disabled-by-default-blink.debug.layout category brows up trace size and
causes d8 crash.

BUG= 615605 , 619254 

Review-Url: https://codereview.chromium.org/2070773002
Cr-Commit-Position: refs/heads/master@{#400426}

[modify] https://crrev.com/e598d9f6f9d6bf4cd90c46503cb0c207791a02db/tools/perf/benchmarks/page_cycler_v2.py

Sign in to add a comment