Design doc will follow soon.
Issue 728197 has been merged into this issue.
I have started doing the archaeology to work out which features of the current implementation we are currently using: https://docs.google.com/document/d/1eJf7xZSulkEIWn5sEcyzlATLvE2p-FnvKb8P_tuIH9g/edit#heading=h.44bdcznd97xn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0bef0d3d46ae87529dfdf35f979275f90d22f625 commit 0bef0d3d46ae87529dfdf35f979275f90d22f625 Author: Hector Dearman <hjd@google.com> Date: Fri Jun 16 14:29:28 2017 memory-infra: Split mojom internal/external response types Split the ProcessMemoryDump struct into ProcessMemoryDump and ProcessMemoryDumpInternal. The former is used as part of memory-infra's public "Request a global memory dump" API and the latter is used for internal coordination. Spliting them allows us to remove two fields which were only used in one or other case and also sets the stage for larger rafactorings to the internal struct to support computing memory metrics in Chrome. Bug: 728199 Change-Id: I6603ba4b424bc177082792759be1ace866951828 Reviewed-on: https://chromium-review.googlesource.com/533335 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Commit-Queue: Hector Dearman <hjd@chromium.org> Cr-Commit-Position: refs/heads/master@{#480038} [modify] https://crrev.com/0bef0d3d46ae87529dfdf35f979275f90d22f625/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/0bef0d3d46ae87529dfdf35f979275f90d22f625/base/trace_event/memory_dump_request_args.h [modify] https://crrev.com/0bef0d3d46ae87529dfdf35f979275f90d22f625/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/0bef0d3d46ae87529dfdf35f979275f90d22f625/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/0bef0d3d46ae87529dfdf35f979275f90d22f625/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/0bef0d3d46ae87529dfdf35f979275f90d22f625/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/0bef0d3d46ae87529dfdf35f979275f90d22f625/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4c4e1e1bccdb9a2ffa37d533d27b71a7350215a8 commit 4c4e1e1bccdb9a2ffa37d533d27b71a7350215a8 Author: Hector Dearman <hjd@google.com> Date: Thu Jun 22 09:06:17 2017 memory-infra: Split OSDump struct into in/external Split the "OS Dump" Mojo struct into an internal version and an external public facing version. This lets us stop exposing implementations details (like PlatformPrivateFootprint). While we're touching the struct also refactor private_footprint to be a field on OSDump which seems a more sensible place for it. TBR=asvitkine Bug: 728199 Change-Id: I1c029c2b930231312654912375596f11ede0d937 Reviewed-on: https://chromium-review.googlesource.com/536734 Commit-Queue: Primiano Tucci <primiano@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Reviewed-by: siddhartha sivakumar <ssid@chromium.org> Cr-Commit-Position: refs/heads/master@{#481486} [modify] https://crrev.com/4c4e1e1bccdb9a2ffa37d533d27b71a7350215a8/chrome/browser/metrics/process_memory_metrics_emitter.cc [modify] https://crrev.com/4c4e1e1bccdb9a2ffa37d533d27b71a7350215a8/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/4c4e1e1bccdb9a2ffa37d533d27b71a7350215a8/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.typemap [modify] https://crrev.com/4c4e1e1bccdb9a2ffa37d533d27b71a7350215a8/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation_struct_traits.cc [modify] https://crrev.com/4c4e1e1bccdb9a2ffa37d533d27b71a7350215a8/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation_struct_traits.h [modify] https://crrev.com/4c4e1e1bccdb9a2ffa37d533d27b71a7350215a8/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/30108ca1482de80fedfe33076001fc2096956cd0 commit 30108ca1482de80fedfe33076001fc2096956cd0 Author: Hector Dearman <hjd@google.com> Date: Thu Jun 22 12:50:01 2017 memory-infra: Update coordinator_impl_unittest to use gmock Move coordinator_impl_unittest to using gmock instead of hand rolled mocks. This avoids PostTask indirection and will make it easier to add tests that we are summarizing the structs correctly. Bug: 728199 Change-Id: I0f9cecf86f75a18bfcbd85b4f5bb66d3241f8c7e Reviewed-on: https://chromium-review.googlesource.com/543136 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: siddhartha sivakumar <ssid@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#481511} [modify] https://crrev.com/30108ca1482de80fedfe33076001fc2096956cd0/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/30108ca1482de80fedfe33076001fc2096956cd0/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4ee121999f15be82a0eb1fcf3f09cec215094822 commit 4ee121999f15be82a0eb1fcf3f09cec215094822 Author: Hector Dearman <hjd@google.com> Date: Mon Jun 26 13:13:30 2017 memory-infra: Pass ProcessType at registration Pass ProcessType at registration time rather than at response time to allow us to use process type to decide which clients to request OsDumps from. Bug: 728199 Change-Id: I0f456ff4ed6f6c3c75318f05d2e5f53cafdafa45 Reviewed-on: https://chromium-review.googlesource.com/544305 Reviewed-by: Will Harris <wfh@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Commit-Queue: Hector Dearman <hjd@chromium.org> Cr-Commit-Position: refs/heads/master@{#482254} [modify] https://crrev.com/4ee121999f15be82a0eb1fcf3f09cec215094822/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/4ee121999f15be82a0eb1fcf3f09cec215094822/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/4ee121999f15be82a0eb1fcf3f09cec215094822/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/4ee121999f15be82a0eb1fcf3f09cec215094822/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/4ee121999f15be82a0eb1fcf3f09cec215094822/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fd9c8e58a1eefc41917956bc1746acd6344b8f3a commit fd9c8e58a1eefc41917956bc1746acd6344b8f3a Author: Hector Dearman <hjd@google.com> Date: Mon Jul 03 14:54:55 2017 memory-infra: Move ProcessMetricsMemoryDumpProvider to service Move ProcessMetricsMemoryDumpProvider to the memory instrumentation service. This reduces the number of places memory-infra code lives and paves the way for us refactor the collection of OS dumps to no longer be tied to MemoyDumpManager and MemoyDumpProviders. Bug: 728199 Change-Id: I70100c1fff86691bc422b214b779b3367c2c0a24 Reviewed-on: https://chromium-review.googlesource.com/545675 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Siddhartha S <ssid@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#484003} [modify] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/components/tracing/BUILD.gn [add] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/components/tracing/common/DEPS [modify] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/components/tracing/common/process_metrics_memory_dump_provider.cc [modify] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/components/tracing/common/process_metrics_memory_dump_provider.h [modify] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/services/resource_coordinator/public/cpp/BUILD.gn [add] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider.cc [add] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider.h [rename] https://crrev.com/fd9c8e58a1eefc41917956bc1746acd6344b8f3a/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/36eedd751a6104eea2d3d25c5a8ff25b9bd13510 commit 36eedd751a6104eea2d3d25c5a8ff25b9bd13510 Author: Hector Dearman <hjd@google.com> Date: Fri Jul 07 15:10:35 2017 memory-infra: Start cleaning up ProcessMetricsMemoryDumpProvider ProcessMetricsMemoryDumpProvider uses a lot of ifdefs and is quite confusing. Start pulling out the code into os_metrics.cc which will have separate implementations for each platform. Bug: 728199 Change-Id: I2cbc2b2e8860dce3ea1b819affb4dee2170fd5f7 Reviewed-on: https://chromium-review.googlesource.com/555497 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#484927} [modify] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/BUILD.gn [add] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.cc [add] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h [add] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc [add] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_mac.cc [add] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_unittest.cc [add] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_win.cc [modify] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider.cc [modify] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider.h [modify] https://crrev.com/36eedd751a6104eea2d3d25c5a8ff25b9bd13510/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7a7f78cbad1f42130136b066d72d293fe52047fe commit 7a7f78cbad1f42130136b066d72d293fe52047fe Author: Siddhartha <ssid@chromium.org> Date: Tue Jul 11 01:13:10 2017 [memory-infra] Move the tests related to tracing observer into service/ Move the tests related to tracing observer, peak detector and periodic schduler into client_process_impl_unittests. Removed test CallbackCalledOnFailure since it is covered by DumpWithoutInitializingTracing Bug: 728199 Change-Id: Idb2fb0ed566e54ab6f6be825f844e2ffab9b4d16 Reviewed-on: https://chromium-review.googlesource.com/553585 Commit-Queue: Siddhartha S <ssid@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#485477} [modify] https://crrev.com/7a7f78cbad1f42130136b066d72d293fe52047fe/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/7a7f78cbad1f42130136b066d72d293fe52047fe/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/7a7f78cbad1f42130136b066d72d293fe52047fe/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/7a7f78cbad1f42130136b066d72d293fe52047fe/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.h [add] https://crrev.com/7a7f78cbad1f42130136b066d72d293fe52047fe/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529 commit c6c5c962d96056d79f7b71e7335f5f2ea8ec7529 Author: Hector Dearman <hjd@google.com> Date: Tue Jul 11 12:30:31 2017 memory-infra: Move mmap processing code to OSMetrics Bug: 728199 Change-Id: Icf0e54c66704901e31004c3d632290def1dfb558 Reviewed-on: https://chromium-review.googlesource.com/558255 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#485606} [modify] https://crrev.com/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529/services/resource_coordinator/public/cpp/BUILD.gn [delete] https://crrev.com/501aeaf33dca3248d44bc9d7d5979d34e9f68025/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.cc [modify] https://crrev.com/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h [modify] https://crrev.com/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc [modify] https://crrev.com/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_mac.cc [modify] https://crrev.com/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_unittest.cc [modify] https://crrev.com/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_win.cc [modify] https://crrev.com/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider.cc [modify] https://crrev.com/c6c5c962d96056d79f7b71e7335f5f2ea8ec7529/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/694787fbb0d6893e53858b659d4244946d6eeb59 commit 694787fbb0d6893e53858b659d4244946d6eeb59 Author: Hector Dearman <hjd@google.com> Date: Wed Jul 12 11:14:42 2017 memory-infra: Add logic to service to request OS dumps Bug: 728199 Change-Id: I386530410dcafa76cfe2be91744e6d82a5ea232e Reviewed-on: https://chromium-review.googlesource.com/552639 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#485923} [modify] https://crrev.com/694787fbb0d6893e53858b659d4244946d6eeb59/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/694787fbb0d6893e53858b659d4244946d6eeb59/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/694787fbb0d6893e53858b659d4244946d6eeb59/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/694787fbb0d6893e53858b659d4244946d6eeb59/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/15617f0ba9ba58672ce22b2269017c7b12ec124f commit 15617f0ba9ba58672ce22b2269017c7b12ec124f Author: Siddhartha <ssid@chromium.org> Date: Wed Jul 12 15:39:27 2017 memory-infra: Move TracingObserver to service/ The memory tracing observer along with peak detector and periodic scheduler should live in service/resource_coordinator since the peak detector needs to know about the OS dump providers. The tests were moved in previous CL. BUG= 728199 Change-Id: Ib4934421d1d057fd7d062258179f17d3ca8209f7 Reviewed-on: https://chromium-review.googlesource.com/554280 Commit-Queue: Primiano Tucci <primiano@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#485968} [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/base/BUILD.gn [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/base/trace_event/memory_allocator_dump.h [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/base/trace_event/memory_allocator_dump_unittest.cc [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/base/trace_event/memory_dump_request_args.h [delete] https://crrev.com/3c9b1cb60a0f85032fb67540f0c584e401c72479/base/trace_event/memory_tracing_observer.cc [delete] https://crrev.com/3c9b1cb60a0f85032fb67540f0c584e401c72479/base/trace_event/memory_tracing_observer.h [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/net/url_request/url_request_quic_perftest.cc [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/services/resource_coordinator/public/cpp/BUILD.gn [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.h [add] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.cc [add] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.h [modify] https://crrev.com/15617f0ba9ba58672ce22b2269017c7b12ec124f/tools/gn/bootstrap/bootstrap.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7e3d0c0351183f0eab2384f2801db9ab755fe139 commit 7e3d0c0351183f0eab2384f2801db9ab755fe139 Author: Hongchan Choi <hongchan@chromium.org> Date: Wed Jul 12 17:49:51 2017 Revert "memory-infra: Move TracingObserver to service/" This reverts commit 15617f0ba9ba58672ce22b2269017c7b12ec124f. Reason for revert: https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/8765 base_unittest MemoryDumpManagerTest.PostTaskForSequencedTaskRunner is crashing due to the data race. Original change's description: > memory-infra: Move TracingObserver to service/ > > The memory tracing observer along with peak detector and periodic > scheduler should live in service/resource_coordinator since the peak > detector needs to know about the OS dump providers. > The tests were moved in previous CL. > > BUG= 728199 > > Change-Id: Ib4934421d1d057fd7d062258179f17d3ca8209f7 > Reviewed-on: https://chromium-review.googlesource.com/554280 > Commit-Queue: Primiano Tucci <primiano@chromium.org> > Reviewed-by: Helen Li <xunjieli@chromium.org> > Reviewed-by: Daniel Cheng <dcheng@chromium.org> > Reviewed-by: Primiano Tucci <primiano@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Cr-Commit-Position: refs/heads/master@{#485968} TBR=dcheng@chromium.org,primiano@chromium.org,dpranke@chromium.org,hjd@chromium.org,xunjieli@chromium.org,ssid@chromium.org Change-Id: Iea202e6099216cb8ccad38d6f0d5354ea82643fe No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 728199 Reviewed-on: https://chromium-review.googlesource.com/568401 Reviewed-by: Hongchan Choi <hongchan@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Hongchan Choi <hongchan@chromium.org> Cr-Commit-Position: refs/heads/master@{#486014} [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/BUILD.gn [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/trace_event/memory_allocator_dump.h [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/trace_event/memory_allocator_dump_unittest.cc [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/trace_event/memory_dump_request_args.h [add] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/trace_event/memory_tracing_observer.cc [add] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/base/trace_event/memory_tracing_observer.h [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/net/url_request/url_request_quic_perftest.cc [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/services/resource_coordinator/public/cpp/BUILD.gn [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.h [delete] https://crrev.com/24625c0bb5fbde74f558f2868f9f1a95a830c7a8/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.cc [delete] https://crrev.com/24625c0bb5fbde74f558f2868f9f1a95a830c7a8/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.h [modify] https://crrev.com/7e3d0c0351183f0eab2384f2801db9ab755fe139/tools/gn/bootstrap/bootstrap.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/43929085bfb1df7bc1ad3231a3a71736a72dea38 commit 43929085bfb1df7bc1ad3231a3a71736a72dea38 Author: Siddhartha <ssid@chromium.org> Date: Thu Jul 13 22:04:23 2017 Reland "memory-infra: Move TracingObserver to service/" This reverts commit 7e3d0c0351183f0eab2384f2801db9ab755fe139. Reason for revert: The race was on second dump and shutdown. 1. The main thread starts a dump. Posts task on WP2 first for MPD1. 2. WP2-thread posts task to itself for MDP2. 3. WP2-thread posts task to WP1 for MDP1. At this point, WP2-thread is waiting on WP1 to create a new thread. 4. The test finishes with WP1-thread finalizing the dump, main thread returns. 5. The MDM destructor decides to delete it's reference to the task runner (MDPInfo). This clears the WP1 first. Step 5 calls WP1 destructor which calls thread destructor. The thread in Step 3 comes back to life and tries to check if the new thread has been created in WP1. MDM should not destroy the task runner when PostTask is not done. So, hold a reference in SetupNextMemoryDump(). Original change's description: > Revert "memory-infra: Move TracingObserver to service/" > > This reverts commit 15617f0ba9ba58672ce22b2269017c7b12ec124f. > > Reason for revert: > https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/8765 > > base_unittest MemoryDumpManagerTest.PostTaskForSequencedTaskRunner is crashing due to the data race. > > Original change's description: > > memory-infra: Move TracingObserver to service/ > > > > The memory tracing observer along with peak detector and periodic > > scheduler should live in service/resource_coordinator since the peak > > detector needs to know about the OS dump providers. > > The tests were moved in previous CL. > > > > BUG= 728199 > > > > Change-Id: Ib4934421d1d057fd7d062258179f17d3ca8209f7 > > Reviewed-on: https://chromium-review.googlesource.com/554280 > > Commit-Queue: Primiano Tucci <primiano@chromium.org> > > Reviewed-by: Helen Li <xunjieli@chromium.org> > > Reviewed-by: Daniel Cheng <dcheng@chromium.org> > > Reviewed-by: Primiano Tucci <primiano@chromium.org> > > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#485968} > > TBR=dcheng@chromium.org,primiano@chromium.org,dpranke@chromium.org,hjd@chromium.org,xunjieli@chromium.org,ssid@chromium.org > > Change-Id: Iea202e6099216cb8ccad38d6f0d5354ea82643fe > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 728199 > Reviewed-on: https://chromium-review.googlesource.com/568401 > Reviewed-by: Hongchan Choi <hongchan@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Commit-Queue: Hongchan Choi <hongchan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#486014} TBR=dcheng@chromium.org,primiano@chromium.org,dpranke@chromium.org,hjd@chromium.org,xunjieli@chromium.org,ssid@chromium.org,hongchan@chromium.org Change-Id: Ic58718b4d4497f9cb28cb2962deb653b45f2f6da Bug: 728199 Reviewed-on: https://chromium-review.googlesource.com/568402 Commit-Queue: Siddhartha S <ssid@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Reviewed-by: Siddhartha S <ssid@chromium.org> Cr-Commit-Position: refs/heads/master@{#486487} [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/base/BUILD.gn [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/base/trace_event/memory_allocator_dump.h [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/base/trace_event/memory_allocator_dump_unittest.cc [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/base/trace_event/memory_dump_request_args.h [delete] https://crrev.com/c72172a8ead9a7f6c95a2395cbf45746961ac270/base/trace_event/memory_tracing_observer.cc [delete] https://crrev.com/c72172a8ead9a7f6c95a2395cbf45746961ac270/base/trace_event/memory_tracing_observer.h [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/net/url_request/url_request_quic_perftest.cc [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/services/resource_coordinator/public/cpp/BUILD.gn [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.h [add] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.cc [add] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.h [modify] https://crrev.com/43929085bfb1df7bc1ad3231a3a71736a72dea38/tools/gn/bootstrap/bootstrap.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2 commit dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2 Author: Hector Dearman <hjd@google.com> Date: Fri Jul 21 23:45:35 2017 memory-infra: Remove typemapping for a few structraits The typemapping makes it super error-prone and painful to add fields and now that we are out of base/ we don't need it anymore! Bug: 728199 Change-Id: I1312aad0811291ec6cf69aa83d79fbb6d1a6aa84 Reviewed-on: https://chromium-review.googlesource.com/567185 Reviewed-by: Robert Kaplow <rkaplow@chromium.org> Reviewed-by: Siddhartha S <ssid@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Commit-Queue: Siddhartha S <ssid@chromium.org> Cr-Commit-Position: refs/heads/master@{#488807} [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/base/trace_event/memory_dump_request_args.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/base/trace_event/memory_dump_request_args.h [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/chrome/browser/metrics/process_memory_metrics_emitter.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/chrome/browser/metrics/process_memory_metrics_emitter_unittest.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/net/url_request/url_request_quic_perftest.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.typemap [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation_struct_traits.cc [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation_struct_traits.h [modify] https://crrev.com/dcc8dd15fa4c16dbc195e3672e37f06f4eca01a2/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b6879eaf01bfd588b86e5176d2cad572431dbe97 commit b6879eaf01bfd588b86e5176d2cad572431dbe97 Author: Hector Dearman <hjd@google.com> Date: Wed Jul 26 09:36:47 2017 memory-infra: Add mmaps to OS Dump - Creates a mojo struct (VmRegion) to represent a memory map. - Adds a list of such structs to OSDump to represent a the memory maps of a process. - Adds an (unused) flag to RequestOSMemoryDump to toggle whether to collect memory maps. - Refactors OSMetrics to collect memory map information in terms of mojom::VmRegions. Bug: 728199 Change-Id: If5173f6410b59a8a72c5995993354e12ee6daecd Reviewed-on: https://chromium-review.googlesource.com/574717 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Commit-Queue: Hector Dearman <hjd@chromium.org> Cr-Commit-Position: refs/heads/master@{#489574} [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/BUILD.gn [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.h [add] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_mac.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_unittest.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_win.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider.cc [modify] https://crrev.com/b6879eaf01bfd588b86e5176d2cad572431dbe97/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d51f7a407e31f63fe03785c8562d5d5fc8b5e50f commit d51f7a407e31f63fe03785c8562d5d5fc8b5e50f Author: Hector Dearman <hjd@google.com> Date: Fri Jul 28 09:24:35 2017 memory-infra: Move a windows specific snippet to OSMetrics Moves a small amount of code that adds a memory map from the deprecated process_metrics_memory_dump_provider.cc to the new shiny os_metrics_win.cc. Historically this was part of the OS stats codepath rather than the memory maps codepath despite the fact that it adds a memory map (this led to it duplicating the condition that gated the memory map code. I'm not sure why this was, possibly because of the following alarming comment on GetProportionalSetSizeBytes: Computes pss (proportional set size) of a process. Note that this function is somewhat expensive on Windows (a few ms per process). For now OsMetrics will suffer any cost associated with calling this twice in succession. The CL which added the code originally is here: https://codereview.chromium.org/2549803003 Bug: 728199 Change-Id: I330d7323c02150cc104862f2a473625e8c6349a6 Reviewed-on: https://chromium-review.googlesource.com/586327 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#490335} [modify] https://crrev.com/d51f7a407e31f63fe03785c8562d5d5fc8b5e50f/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_unittest.cc [modify] https://crrev.com/d51f7a407e31f63fe03785c8562d5d5fc8b5e50f/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_win.cc [modify] https://crrev.com/d51f7a407e31f63fe03785c8562d5d5fc8b5e50f/services/resource_coordinator/public/cpp/memory_instrumentation/process_metrics_memory_dump_provider.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3d197c0b3c6b2ff9cbce4990775f7bb120838231 commit 3d197c0b3c6b2ff9cbce4990775f7bb120838231 Author: Hector Dearman <hjd@google.com> Date: Fri Jul 28 11:34:31 2017 memory-infra: Start using new RequestOSMemoryDump API Historically each process dumped their own OS stats however this got very weird because of the Linux sandbox (See crbug.com/461788 ) which meant that on Linux (and only on Linux) the browser dumps OS stats for all processes. Combine this with trying to ship these stats to the service in addition to putting them into a trace and we got into the state where multiple places know about this workaround. This CL moves to a world where the knowledge about the sandbox workarounds is only in the service and the rest of the code just does what asked by the service. Concretely we do four things: - Stops sending RawOSDumps inside the RawProcessMemoryDump - Starts sending RawOSDumps in the result of RequestOSMemoryDump - Stops writing the OS Metrics into the trace from the PMDs - Starts writing the OS Metrics into the trace from the service Bug: 728199 Change-Id: I2a73fb613325bc223f3b36bd3b7bb0035dab3055 Reviewed-on: https://chromium-review.googlesource.com/565406 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#490361} [modify] https://crrev.com/3d197c0b3c6b2ff9cbce4990775f7bb120838231/base/trace_event/process_memory_dump.cc [modify] https://crrev.com/3d197c0b3c6b2ff9cbce4990775f7bb120838231/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/3d197c0b3c6b2ff9cbce4990775f7bb120838231/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/3d197c0b3c6b2ff9cbce4990775f7bb120838231/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/3d197c0b3c6b2ff9cbce4990775f7bb120838231/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/3d197c0b3c6b2ff9cbce4990775f7bb120838231/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc [modify] https://crrev.com/3d197c0b3c6b2ff9cbce4990775f7bb120838231/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.cc [modify] https://crrev.com/3d197c0b3c6b2ff9cbce4990775f7bb120838231/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a53b914728394e3d4b91153070ad948791f1fce2 commit a53b914728394e3d4b91153070ad948791f1fce2 Author: Hector Dearman <hjd@google.com> Date: Mon Aug 07 16:24:37 2017 memory-infra: Remove RawProcessMemoryDump RawProcessMemoryDump used to contain a ChromeDump, an OS dump and a number of additional OS dumps (on Linux for the browser process) we've moved collecting the OS dumps into a separate API. Now we can remove RawProcessMemoryDump and have all uses talk directly about ChromeDumps. Bug: 728199 Change-Id: I35e645426e5f9be3c472681aaae004c0012279d7 Reviewed-on: https://chromium-review.googlesource.com/579908 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#492336} [modify] https://crrev.com/a53b914728394e3d4b91153070ad948791f1fce2/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/a53b914728394e3d4b91153070ad948791f1fce2/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/a53b914728394e3d4b91153070ad948791f1fce2/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/a53b914728394e3d4b91153070ad948791f1fce2/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/a53b914728394e3d4b91153070ad948791f1fce2/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.h [modify] https://crrev.com/a53b914728394e3d4b91153070ad948791f1fce2/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc [modify] https://crrev.com/a53b914728394e3d4b91153070ad948791f1fce2/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dce3afaf024234eface994924401f798f89808f1 commit dce3afaf024234eface994924401f798f89808f1 Author: Albert J. Wong <ajwong@chromium.org> Date: Thu Aug 10 14:25:18 2017 memory-infra svc: expose an API to obatin mmaps for the heap profiler The heap profiler needs to obtain the list of memory maps for the various processes for symbolization purposes. Before this CL, the memory_instrumentation didn't offer any way to retrieve only the mmaps. Its only API, RequestGlobalMemoryDump(): - has the major drawback of wasting time hopping through all the MemoryDumpProider(s) (e.g., gpu textures, skia font caches) which are useless for the heap profiler. - does not expose the mmaps obtained for the various processes. This CL introduces a new method GetVmRegionsForHeapProfiler() which exposes only the memory maps and doesn't attempt to collect the data from the MemoryDumpProviders. See comments in https://chromium-review.googlesource.com/c/602454 for more context. Bug: 728199 TBR: brettw Change-Id: I5233ca35842fa6c812a89468554916cac9ca042b Reviewed-on: https://chromium-review.googlesource.com/602623 Commit-Queue: Primiano Tucci <primiano@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Albert J. Wong <ajwong@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Reviewed-by: Oystein Eftevaag <oysteine@chromium.org> Cr-Commit-Position: refs/heads/master@{#493381} [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/base/trace_event/memory_dump_request_args.cc [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/base/trace_event/memory_dump_request_args.h [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/chrome/browser/metrics/process_memory_metrics_emitter_unittest.cc [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/chrome/profiling/json_exporter_unittest.cc [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.cc [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation_struct_traits.cc [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc [modify] https://crrev.com/dce3afaf024234eface994924401f798f89808f1/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/faf2f4954786a86d571997b65fa9bd9f2fbac9f4 commit faf2f4954786a86d571997b65fa9bd9f2fbac9f4 Author: Hector Dearman <hjd@google.com> Date: Wed Aug 16 11:13:57 2017 memory-infra: Add StructTraits tests to memory_instrumentation service I want to add a new complicated type mapping (ProcessMemoryDump) to the memory_instrumentation service, before that it would be nice to have the test harness setup. Bug: 728199 Change-Id: Ifbad6bfb7c0ce617de37a9035ed407bcdc23d70f Reviewed-on: https://chromium-review.googlesource.com/615262 Reviewed-by: Oystein Eftevaag <oysteine@chromium.org> Commit-Queue: Hector Dearman <hjd@chromium.org> Cr-Commit-Position: refs/heads/master@{#494746} [modify] https://crrev.com/faf2f4954786a86d571997b65fa9bd9f2fbac9f4/services/resource_coordinator/BUILD.gn [add] https://crrev.com/faf2f4954786a86d571997b65fa9bd9f2fbac9f4/services/resource_coordinator/public/cpp/memory_instrumentation/struct_traits_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/59ea8bef33e0517fc74bb2790fc93d03562c4ce5 commit 59ea8bef33e0517fc74bb2790fc93d03562c4ce5 Author: Hector Dearman <hjd@google.com> Date: Thu Aug 24 11:52:48 2017 memory-infra: Remove const fields from ProcessMemoryDump In order to pass ProcessMemoryDumps over mojo to the memory-infra service it seems best to typemap it. This requires having an empty constructor: ProcessMemoryDump() which means no const feilds. Bug: 728199 Change-Id: I95c970f47d2664158eb51ec150471bacc62454b1 Reviewed-on: https://chromium-review.googlesource.com/615174 Reviewed-by: Siddhartha S <ssid@chromium.org> Commit-Queue: Hector Dearman <hjd@chromium.org> Cr-Commit-Position: refs/heads/master@{#497009} [modify] https://crrev.com/59ea8bef33e0517fc74bb2790fc93d03562c4ce5/base/trace_event/process_memory_dump.cc [modify] https://crrev.com/59ea8bef33e0517fc74bb2790fc93d03562c4ce5/base/trace_event/process_memory_dump.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a54316af10d5becd3e3a75b0531ecdcade153da3 commit a54316af10d5becd3e3a75b0531ecdcade153da3 Author: Hector Dearman <hjd@google.com> Date: Thu Aug 24 16:12:55 2017 memory-infra: Make ProcessMemoryDump movable In order to pass ProcessMemoryDumps over mojo to the memory-infra service it seems best to typemap it. This requires making ProcessMemoryDump moveable if we want to pass it as an optional parameter (which we will in the case of failure). Bug: 728199 Change-Id: I74dfd2cd992411e1ce23ea21a04de612889c2f3a Reviewed-on: https://chromium-review.googlesource.com/615400 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Siddhartha S <ssid@chromium.org> Cr-Commit-Position: refs/heads/master@{#497071} [modify] https://crrev.com/a54316af10d5becd3e3a75b0531ecdcade153da3/base/trace_event/process_memory_dump.cc [modify] https://crrev.com/a54316af10d5becd3e3a75b0531ecdcade153da3/base/trace_event/process_memory_dump.h [modify] https://crrev.com/a54316af10d5becd3e3a75b0531ecdcade153da3/base/trace_event/process_memory_dump_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/475d139f8bafbd31c1cc018b18559f3eba85ac62 commit 475d139f8bafbd31c1cc018b18559f3eba85ac62 Author: Hector Dearman <hjd@google.com> Date: Fri Aug 25 09:40:13 2017 memory-infra: Remove dumping on behalf of other processes This removes the ability for ProcessDumpProviders to dump on behalf of other processes. This feature was supported for collecting OS statistics for many processes from the browser process which was necessary on some platforms due to sandboxing. Now that OS statistics are collected separately anyway we don't need the feature and is the cause of unnecessary complexity (not to mention the service refactoring has slightly broken it already). Bug: 728199 Change-Id: I702cfedd62dc795076e566344494db69e013fbd9 Reviewed-on: https://chromium-review.googlesource.com/616728 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Helen Li <xunjieli@chromium.org> Reviewed-by: Siddhartha S <ssid@chromium.org> Cr-Commit-Position: refs/heads/master@{#497366} [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/base/trace_event/memory_dump_provider.h [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/base/trace_event/memory_dump_request_args.h [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/content/browser/tracing/memory_tracing_browsertest.cc [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/net/url_request/url_request_quic_perftest.cc [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.h [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.cc [modify] https://crrev.com/475d139f8bafbd31c1cc018b18559f3eba85ac62/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0fdf71e1a7f5a5f57c5525df2252718702424bf4 commit 0fdf71e1a7f5a5f57c5525df2252718702424bf4 Author: Hector Dearman <hjd@google.com> Date: Thu Aug 31 09:23:12 2017 memory-infra: MemoryAllocatorDump stores values instead of TracedValue We want to be able to serialize MemoryAllocatorDumps for IPC, this means keeping track of values set via AddScalar/AddScalarF/ AddString instead of serializing directly to a TracedValue. Bug: 728199 Change-Id: I9fa86b61a07369782b1fc58802bc60ec9d11563b Reviewed-on: https://chromium-review.googlesource.com/618721 Commit-Queue: Hector Dearman <hjd@chromium.org> Reviewed-by: Siddhartha S <ssid@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#498796} [modify] https://crrev.com/0fdf71e1a7f5a5f57c5525df2252718702424bf4/base/trace_event/memory_allocator_dump.cc [modify] https://crrev.com/0fdf71e1a7f5a5f57c5525df2252718702424bf4/base/trace_event/memory_allocator_dump.h [modify] https://crrev.com/0fdf71e1a7f5a5f57c5525df2252718702424bf4/base/trace_event/memory_allocator_dump_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9b16a3b0b991c68d76184ce5741aab0ed5009873 commit 9b16a3b0b991c68d76184ce5741aab0ed5009873 Author: Primiano Tucci <primiano@chromium.org> Date: Mon Sep 11 11:05:14 2017 memory-infra: add struct-traits for memory dump objects Introduce struct-traits for core memory-infra classes and corresponding tests. These struct traits will be used in the upcoming CLs by the memory-instrumentation service to rationalize the memory dumps in-process. Note: the heap-profiler structures are deliberately not serialized as there is no interest in carrying them across processes. BUG: 728199 Change-Id: Iea4b6fcbd56f6bc2c951a8421b9452e5900083ae Reviewed-on: https://chromium-review.googlesource.com/654858 Commit-Queue: Primiano Tucci <primiano@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Siddhartha S <ssid@chromium.org> Cr-Commit-Position: refs/heads/master@{#500881} [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/base/trace_event/memory_allocator_dump.cc [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/base/trace_event/memory_allocator_dump.h [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/base/trace_event/memory_allocator_dump_unittest.cc [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/base/trace_event/process_memory_dump.cc [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/base/trace_event/process_memory_dump.h [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.typemap [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation_struct_traits.cc [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation_struct_traits.h [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/services/resource_coordinator/public/cpp/memory_instrumentation/struct_traits_unittest.cc [modify] https://crrev.com/9b16a3b0b991c68d76184ce5741aab0ed5009873/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fde1f92076efb79d66d242e5bcdff09f6b91e09e commit fde1f92076efb79d66d242e5bcdff09f6b91e09e Author: Primiano Tucci <primiano@chromium.org> Date: Fri Sep 15 17:30:19 2017 memory-infra: Send ProcessMemoryDumps to the service This CL is a major step towards moving the computation of the memory metrics at runtime into the service. It makes it so the client library in each process just passes through the raw data collected by base::MemoryDumpManager and gets rid of the temporary summarization logic done in each process. For the moment, the temporary summarization is still there and just moved into the service. The upcoming CLs get rid of that and compute the full memory graph instead. Bug: 728199 Change-Id: Ib29e393d9595481380d43f701018f373073b3d4d Reviewed-on: https://chromium-review.googlesource.com/660237 Reviewed-by: Siddhartha S <ssid@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Commit-Queue: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#502296} [modify] https://crrev.com/fde1f92076efb79d66d242e5bcdff09f6b91e09e/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/fde1f92076efb79d66d242e5bcdff09f6b91e09e/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/fde1f92076efb79d66d242e5bcdff09f6b91e09e/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/fde1f92076efb79d66d242e5bcdff09f6b91e09e/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/fde1f92076efb79d66d242e5bcdff09f6b91e09e/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.typemap [modify] https://crrev.com/fde1f92076efb79d66d242e5bcdff09f6b91e09e/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation_struct_traits.h [modify] https://crrev.com/fde1f92076efb79d66d242e5bcdff09f6b91e09e/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc [modify] https://crrev.com/fde1f92076efb79d66d242e5bcdff09f6b91e09e/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1bf0b92e31e2c3bf34812fce6a148636cca68829 commit 1bf0b92e31e2c3bf34812fce6a148636cca68829 Author: Lalit Maganti <lalitm@chromium.org> Date: Fri Oct 20 00:45:30 2017 memory-infra: Move chrome tracing dumps into the service Since we now have the Chrome memory dumps in the service, we can now centralise the code which performs the trace dumps. Bug: 728199 Change-Id: I7385a99782b9027a85eacd11a755a6d10bb3c8f1 Reviewed-on: https://chromium-review.googlesource.com/685854 Commit-Queue: Lalit Maganti <lalitm@chromium.org> Reviewed-by: Hector Dearman <hjd@chromium.org> Cr-Commit-Position: refs/heads/master@{#510274} [modify] https://crrev.com/1bf0b92e31e2c3bf34812fce6a148636cca68829/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/1bf0b92e31e2c3bf34812fce6a148636cca68829/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/1bf0b92e31e2c3bf34812fce6a148636cca68829/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/1bf0b92e31e2c3bf34812fce6a148636cca68829/services/resource_coordinator/public/cpp/memory_instrumentation/client_process_impl.cc [modify] https://crrev.com/1bf0b92e31e2c3bf34812fce6a148636cca68829/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc [modify] https://crrev.com/1bf0b92e31e2c3bf34812fce6a148636cca68829/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.cc [modify] https://crrev.com/1bf0b92e31e2c3bf34812fce6a148636cca68829/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1220248209411cf32441e865677bd2fd4240c0de commit 1220248209411cf32441e865677bd2fd4240c0de Author: Lalit Maganti <lalitm@chromium.org> Date: Tue Dec 12 12:41:21 2017 memory-infra: enable full graph computation pipeline Bug: 728199 Change-Id: I440814aa37c687ab68fea5717cee36a051a4908d Reviewed-on: https://chromium-review.googlesource.com/800553 Reviewed-by: Primiano Tucci <primiano@chromium.org> Commit-Queue: Lalit Maganti <lalitm@chromium.org> Cr-Commit-Position: refs/heads/master@{#523413} [modify] https://crrev.com/1220248209411cf32441e865677bd2fd4240c0de/services/resource_coordinator/memory_instrumentation/graph_processor.cc [modify] https://crrev.com/1220248209411cf32441e865677bd2fd4240c0de/services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a3360971dab6da9c2a28f9362dee531c1a1e2ffe commit a3360971dab6da9c2a28f9362dee531c1a1e2ffe Author: Lalit Maganti <lalitm@chromium.org> Date: Thu Jan 11 19:12:05 2018 memory-infra: add generic mechanism to return allocator dump entries We want a way to generically return the entries for particular nodes in the memory graph. This CL allows the consumer of memory-infra to pass in the nodes they are looking for which will then be returned to them. Bug: 728199 Change-Id: Ib6364280dde0a2de55680eb630b05f2abf7ad0ed Reviewed-on: https://chromium-review.googlesource.com/830946 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Commit-Queue: Lalit Maganti <lalitm@chromium.org> Cr-Commit-Position: refs/heads/master@{#528701} [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/memory_instrumentation/coordinator_impl.h [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/memory_instrumentation/coordinator_impl_unittest.cc [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/memory_instrumentation/queued_request.cc [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/memory_instrumentation/queued_request.h [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.cc [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/public/cpp/memory_instrumentation/tracing_integration_unittest.cc [modify] https://crrev.com/a3360971dab6da9c2a28f9362dee531c1a1e2ffe/services/resource_coordinator/public/interfaces/memory_instrumentation/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/881067b45d42aff812ff8035fb4ad8a0b5ddcb88 commit 881067b45d42aff812ff8035fb4ad8a0b5ddcb88 Author: Lalit Maganti <lalitm@chromium.org> Date: Tue Jan 16 14:48:13 2018 memory-infra: add wrapper for global memory dumps This wrapper will allow for consumers to obtain metrics without writing boilerplate code and also allows us to expose more advanced and esoteric data in the future if we wish Bug: 728199 Change-Id: I2dfa44840b5712c357144f6329484773db065b44 Reviewed-on: https://chromium-review.googlesource.com/860359 Commit-Queue: Lalit Maganti <lalitm@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#529422} [modify] https://crrev.com/881067b45d42aff812ff8035fb4ad8a0b5ddcb88/services/resource_coordinator/public/cpp/BUILD.gn [add] https://crrev.com/881067b45d42aff812ff8035fb4ad8a0b5ddcb88/services/resource_coordinator/public/cpp/memory_instrumentation/global_memory_dump.cc [add] https://crrev.com/881067b45d42aff812ff8035fb4ad8a0b5ddcb88/services/resource_coordinator/public/cpp/memory_instrumentation/global_memory_dump.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/40e628c20a01135574964d3715c08676eeb6a5ea commit 40e628c20a01135574964d3715c08676eeb6a5ea Author: Lalit Maganti <lalitm@chromium.org> Date: Wed Jan 17 17:01:55 2018 memory-infra: utilise new global dump wrapper struct Replace instances of mojom::GlobalMemoryDumpPtr with std::unique_ptr<GlobalMemoryDump>. This allows future refactors to change the data passed to clients of memory-infra without changing mojom files. This introduces the wrapper to all consumers of memory-infra. This is in preparation for the next cl where we stop exposing pre-decided aggregations and use the new API in memory_instrumentation to dynamically require fields. In order to do so clients like metrics_emitter cannot use directly the mojo interface, because that would be too raw, and instead should switch to this wrapper. In the next CL this wrapper will take care of extracting metrics by name and any other features required. Bug: 728199 Change-Id: Ibb515641fffd30615102c6c9cda8b56b7b90f0d0 Reviewed-on: https://chromium-review.googlesource.com/860380 Commit-Queue: Lalit Maganti <lalitm@chromium.org> Reviewed-by: Ryan Sturm <ryansturm@chromium.org> Reviewed-by: Steven Holte <holte@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: Erik Chen <erikchen@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#529778} [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/metrics/process_memory_metrics_emitter.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/metrics/process_memory_metrics_emitter.h [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/metrics/process_memory_metrics_emitter_browsertest.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/metrics/process_memory_metrics_emitter_unittest.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.h [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/profiling_host/background_profiling_triggers.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/profiling_host/background_profiling_triggers.h [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/profiling_host/background_profiling_triggers_unittest.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/task_manager/sampling/task_manager_impl.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/chrome/browser/task_manager/sampling/task_manager_impl.h [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/content/browser/tracing/memory_instrumentation_browsertest.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/services/resource_coordinator/public/cpp/memory_instrumentation/global_memory_dump.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/services/resource_coordinator/public/cpp/memory_instrumentation/global_memory_dump.h [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.cc [modify] https://crrev.com/40e628c20a01135574964d3715c08676eeb6a5ea/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h
With the above CL we have all the code we need to perform graph computation in Chrome and surface to clients.
Comment 1 by primiano@chromium.org
, Jun 1 2017