diff options
author | huangs <huangs@chromium.org> | 2016-01-14 12:59:22 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-14 22:03:01 +0000 |
commit | 93aa967cfcb3e933000f169b9a4f7ac84dbd96da (patch) | |
tree | 907d1b13580220f29d3ee40b149636c67997c7c2 /base/process | |
parent | b50881afd44d79107b37b0f26da4fc3e5a3bf054 (diff) | |
download | chromium_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.cc | 3 |
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; } |