New issue
Advanced search Search tips

Issue 922967 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Noise in memory measurement in system health benchmarks

Project Member Reported by u...@chromium.org, Jan 17 (5 days ago)

Issue description

I found a big source of noise in system health memory benchmarks.

The benchmarks force garbage collection only on the main renderer (the one that DevTools is connected to). For all other renderers (OOPIFs) the memory dump is taken without any garbage collection. One some pages there are 8-10 renderers.

The traces on perfbots suggest that fixing this issue would reduce the variance by ~10x.

I see two possible solutions:
1) Introduce a new DevTools collectGarbage API that forces garbage collection on all renderer processes.
2) Add a new memory dump request argument that specifies whether the dump is deterministic or not.
A memory dump provider can then force garbage collection if it sees a deterministic request.
(This would require changing MemoryDumpArgs, MemoryDumpRequestArgs, and all the corresponding code).

I would vote for solution 2.
primiano@, ssid@, do you see any issues with solution 2? Or maybe there is better solution?


 

Comment 1 by perezju@chromium.org, Jan 17 (5 days ago)

It also sounds like solution 2 would allow to simplify the logic here (and below in ForceGarbageCollection):
https://cs.chromium.org/chromium/src/third_party/catapult/telemetry/telemetry/internal/actions/action_runner.py?rcl=a0e5e3328cd7578d4e2aeeb8d7675a60fd00a74f&l=141 ?

That would be great!

Sign in to add a comment