[memory-infra] Deterministic memory dumps

Memory usage of some Chromium components depend on non-deterministic
events such garbage collections. For benchmarks it is important to
remove as much non-determinism as possible to get stable results.

This CL adds a new field to RequestArgs which indicates whether the
request is for a deterministic memory dump or not. Based on this field
memory dump providers perform garbage collection or flushing of cashed
to ensure that the memory usage is more stable.

This CL does not change any of the existing behavior. It simply plumbs
the deterministic option through different layers. Subsequent CL
will update content/browser/devtools/protocol/tracing_handler.cc to
select deterministic mode depending on its parameter.


Bug: 922967
Change-Id: I4ca8a2e50fe2b9f2af2f10690e1aece6062b7d1c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1790106
Reviewed-by: Primiano Tucci <[email protected]>
Reviewed-by: Jochen Eisinger <[email protected]>
Reviewed-by: Mike West <[email protected]>
Commit-Queue: Ulan Degenbaev <[email protected]>
Cr-Commit-Position: refs/heads/master@{#699340}
25 files changed