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

Issue 790680 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Measure potential impact of sending frame visiblility information to the browser process

Project Member Reported by altimin@chromium.org, Nov 30 2017

Issue description

It will be very beneficial to the architecture of the browser-side scheduler to know frame visibility status (as defined by blink) in the browser process to make all decisions about throttling in the browser process. 

At the moment this information is generated by blink and consumed by blink. Sending it to the browser process adds some overhead. To better understand it, we need to add some metrics around total number of IPCs sent by Chrome.

It is proposed to record total number of IPCs split by several categories:
- GRC ipcs
- Total number of IPCs (old-style and mojo, we might split these two given that separate hooks are needed).

Also we should record the potential number of IPCs - each time visibility is changed inside WebFrameScheduler::SetFrameVisible.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 6 2017

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

commit b97a0925c2dc62b815b85fb7a78ab9782e711a95
Author: Peiyong Lin <lpy@chromium.org>
Date: Wed Dec 06 04:18:09 2017

[scheduler] Adds histogram to record the number of frame visibility change.

We want to plumb frame visibility change to GRC. Before that, we want to
understand the volume of IPC. This patch adds histogram to record the frame
visibility when it's changed.

BUG= 790680 

Change-Id: Ib798308bf18473c1432cbe651ac9217714115b9a
Reviewed-on: https://chromium-review.googlesource.com/807351
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: lpy <lpy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522002}
[modify] https://crrev.com/b97a0925c2dc62b815b85fb7a78ab9782e711a95/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] https://crrev.com/b97a0925c2dc62b815b85fb7a78ab9782e711a95/tools/metrics/histograms/histograms.xml

Comment 2 by l...@chromium.org, Dec 7 2017

Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 11 2017

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

commit 93b9f9ceeeae60e97105de9e4cacc809b06d08ab
Author: Peiyong Lin <lpy@chromium.org>
Date: Mon Dec 11 23:32:38 2017

[GRC] Add IPC volume report.

It's very important to understand how much IPC volume GRC needs to handle. This
patch adds an IPCVolumeReporter to report IPC count for frame, page and process
every minute. The histogram uses a maximum count of 100 with 10 buckets.

BUG= 776118 ,  790680 

Change-Id: Id11ffa4480f7d066f140cf6daba1dedc744e311e
Reviewed-on: https://chromium-review.googlesource.com/815280
Reviewed-by: Zhen Wang <zhenw@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Commit-Queue: lpy <lpy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523249}
[modify] https://crrev.com/93b9f9ceeeae60e97105de9e4cacc809b06d08ab/services/resource_coordinator/BUILD.gn
[modify] https://crrev.com/93b9f9ceeeae60e97105de9e4cacc809b06d08ab/services/resource_coordinator/observers/background_metrics_reporter.h
[modify] https://crrev.com/93b9f9ceeeae60e97105de9e4cacc809b06d08ab/services/resource_coordinator/observers/coordination_unit_graph_observer.h
[add] https://crrev.com/93b9f9ceeeae60e97105de9e4cacc809b06d08ab/services/resource_coordinator/observers/ipc_volume_reporter.cc
[add] https://crrev.com/93b9f9ceeeae60e97105de9e4cacc809b06d08ab/services/resource_coordinator/observers/ipc_volume_reporter.h
[add] https://crrev.com/93b9f9ceeeae60e97105de9e4cacc809b06d08ab/services/resource_coordinator/observers/ipc_volume_reporter_unittest.cc
[modify] https://crrev.com/93b9f9ceeeae60e97105de9e4cacc809b06d08ab/services/resource_coordinator/resource_coordinator_service.cc
[modify] https://crrev.com/93b9f9ceeeae60e97105de9e4cacc809b06d08ab/tools/metrics/histograms/histograms.xml

Comment 4 by l...@chromium.org, Dec 19 2017

Cc: -altimin@chromium.org l...@chromium.org
Owner: altimin@chromium.org
Status: Assigned (was: Started)
reassign to altimin@.
Status: Fixed (was: Assigned)
We've looked into the data and concluded that we can send the frame visibility to the browser process without any significant regressions.

Sign in to add a comment