summaryrefslogtreecommitdiffstats
path: root/base/BUILD.gn
diff options
context:
space:
mode:
authoroshima <oshima@chromium.org>2016-01-21 15:52:21 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-21 23:53:56 +0000
commit94bef8d8bf199e23102783a55a15c9f10bc88631 (patch)
treea819b7e93665c1d196cc27ab507ef875786a11b5 /base/BUILD.gn
parent96eeb2b4f996606caa94f5e4baee43cc6d22b1c7 (diff)
downloadchromium_src-94bef8d8bf199e23102783a55a15c9f10bc88631.zip
chromium_src-94bef8d8bf199e23102783a55a15c9f10bc88631.tar.gz
chromium_src-94bef8d8bf199e23102783a55a15c9f10bc88631.tar.bz2
Revert of [tracing] Dump child processes' memory metrics in browser (patchset #1 id:1 of https://codereview.chromium.org/1591553002/ )
Reason for revert: TracingBrowserTest.TestMemoryInfra is failing on DrMemory bot with the following error: UNADDRESSABLE ACCESS: reading 0x00000048-0x0000004c 4 byte(s) # 0 base.dll!base::Thread::task_runner [base\threading\thread.h:168] # 1 base.dll!base::trace_event::MemoryDumpManager::CreateProcessDump [base\trace_event\memory_dump_manager.cc:313] # 2 content.dll!content::TracingControllerImpl::RequestGlobalMemoryDump [content\browser\tracing\tracing_controller_impl.cc:1039] # 3 content.dll!base::internal::Invoker<>::Run [base\bind_internal.h:350] bug: crbug.com/580295 Original issue's description: > Reland of [tracing] Dump child processes' memory metrics in browser (patchset #1 id:1 of https://codereview.chromium.org/1586893003/ ) > > The failure was due to flakiness fixed by crrev.com/1606983002. > See crbug.com/578128. > > Original issue's description: > > Revert of [tracing] Dump child processes' memory metrics in browser (patchset #15 id:400001 of https://codereview.chromium.org/1417003003/ ) > > > > Reason for revert: > > This is suspected by Findit to cause failure in TracingBrowserTest.TestMemoryInfra under Mac ASan 64 Tests (1). > > > > Original issue's description: > > > [tracing] Dump child processes' memory metrics in browser > > > > > > The sandbox in linux prevents the process from reading the process > > > metrics file. To work around this issue, the browser process will now > > > dump statistics of the child processes too. This requires the > > > composable dumps support in trace viewer and telemetry. > > > > > > This CL makes following changes. > > > 1. Move the process totals and memory maps dump provider into a single > > > header as process_metrics_dump_provider in components/tracing. This is > > > because it is not necessary to have this in base and now the provider > > > knows/manages for different processes. Also the dump method are made to > > > handle error better, since process can vanish while dumping. > > > > > > 2. Make the dump provider non-singleton and have a register / unregister > > > that manages the lifetime of the dump providers. > > > > > > 3. The dump providers unregister using the new > > > UnregisterAndDeleteDumpProviderAsync api added by crrev.com/1430073002. > > > > > > 4. On linux the browser process dumps metrics for all processes and on > > > android the child processes can dump since seccomp sandbox is not > > > enabled in android yet. > > > > > > 5. The proc/status file is human readable stats and is not guaranteed to > > > have a field that is asked for. So, the NOTREACHED is removed in > > > ReadProcStatusAndGetFieldAsSizeT. > > > > > > 6. Since we introduce other process dumps from browser process there > > > could be races while unregistering and dumping. To test this, the > > > browser test is updated. > > > > > > BUG=461788 > > > > > > Committed: https://crrev.com/4d77d76a42425282b1a3c5b7309db9b98e777f60 > > > Cr-Commit-Position: refs/heads/master@{#369482} > > > > TBR=primiano@chromium.org,thakis@chromium.org,simonhatch@chromium.org,sievers@chromium.org,ssid@chromium.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=461788 > > > > Committed: https://crrev.com/93aa967cfcb3e933000f169b9a4f7ac84dbd96da > > Cr-Commit-Position: refs/heads/master@{#369535} > > TBR=primiano@chromium.org,thakis@chromium.org,simonhatch@chromium.org,sievers@chromium.org,huangs@chromium.org > BUG=461788 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/df4156349708e21844209290a2d3638b550e18b2 > Cr-Commit-Position: refs/heads/master@{#370195} TBR=primiano@chromium.org,thakis@chromium.org,simonhatch@chromium.org,sievers@chromium.org,huangs@chromium.org,ssid@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=461788 Review URL: https://codereview.chromium.org/1617263002 Cr-Commit-Position: refs/heads/master@{#370836}
Diffstat (limited to 'base/BUILD.gn')
-rw-r--r--base/BUILD.gn11
1 files changed, 11 insertions, 0 deletions
diff --git a/base/BUILD.gn b/base/BUILD.gn
index 3f8380c..5e94b37 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -849,8 +849,11 @@ component("base") {
"trace_event/process_memory_dump.h",
"trace_event/process_memory_maps.cc",
"trace_event/process_memory_maps.h",
+ "trace_event/process_memory_maps_dump_provider.h",
"trace_event/process_memory_totals.cc",
"trace_event/process_memory_totals.h",
+ "trace_event/process_memory_totals_dump_provider.cc",
+ "trace_event/process_memory_totals_dump_provider.h",
"trace_event/trace_buffer.cc",
"trace_event/trace_buffer.h",
"trace_event/trace_config.cc",
@@ -991,6 +994,7 @@ component("base") {
"sys_info_linux.cc",
"trace_event/malloc_dump_provider.cc",
"trace_event/malloc_dump_provider.h",
+ "trace_event/process_memory_maps_dump_provider.cc",
]
set_sources_assignment_filter(sources_assignment_filter)
@@ -1057,6 +1061,7 @@ component("base") {
"sync_socket_posix.cc",
"sys_info.cc",
"sys_info_posix.cc",
+ "trace_event/process_memory_totals_dump_provider.cc",
"trace_event/trace_event_system_stats_monitor.cc",
]
@@ -1185,6 +1190,7 @@ component("base") {
sources += [
"trace_event/malloc_dump_provider.cc",
"trace_event/malloc_dump_provider.h",
+ "trace_event/process_memory_maps_dump_provider.cc",
]
if (is_asan || is_lsan || is_msan || is_tsan) {
@@ -1822,6 +1828,7 @@ test("base_unittests") {
"trace_event/memory_allocator_dump_unittest.cc",
"trace_event/memory_dump_manager_unittest.cc",
"trace_event/process_memory_dump_unittest.cc",
+ "trace_event/process_memory_totals_dump_provider_unittest.cc",
"trace_event/trace_config_memory_test_util.h",
"trace_event/trace_config_unittest.cc",
"trace_event/trace_event_argument_unittest.cc",
@@ -1938,6 +1945,10 @@ test("base_unittests") {
}
}
+ if (is_linux || is_android) {
+ sources += [ "trace_event/process_memory_maps_dump_provider_unittest.cc" ]
+ }
+
if (!is_linux || use_ozone) {
sources -= [ "message_loop/message_pump_glib_unittest.cc" ]
}