summaryrefslogtreecommitdiffstats
path: root/base/process
diff options
context:
space:
mode:
authorhuangs <huangs@chromium.org>2016-01-14 12:59:22 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-14 22:03:01 +0000
commit93aa967cfcb3e933000f169b9a4f7ac84dbd96da (patch)
tree907d1b13580220f29d3ee40b149636c67997c7c2 /base/process
parentb50881afd44d79107b37b0f26da4fc3e5a3bf054 (diff)
downloadchromium_src-93aa967cfcb3e933000f169b9a4f7ac84dbd96da.zip
chromium_src-93aa967cfcb3e933000f169b9a4f7ac84dbd96da.tar.gz
chromium_src-93aa967cfcb3e933000f169b9a4f7ac84dbd96da.tar.bz2
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 Review URL: https://codereview.chromium.org/1586893003 Cr-Commit-Position: refs/heads/master@{#369535}
Diffstat (limited to 'base/process')
-rw-r--r--base/process/process_metrics_linux.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/base/process/process_metrics_linux.cc b/base/process/process_metrics_linux.cc
index 7a731bb..bcebcf5 100644
--- a/base/process/process_metrics_linux.cc
+++ b/base/process/process_metrics_linux.cc
@@ -86,8 +86,7 @@ size_t ReadProcStatusAndGetFieldAsSizeT(pid_t pid, const std::string& field) {
return value;
}
}
- // This can be reached if the process dies when proc is read -- in that case,
- // the kernel can return missing fields.
+ NOTREACHED();
return 0;
}