Chromium Code Reviews| Index: base/trace_event/process_memory_totals_dump_provider.cc |
| diff --git a/base/trace_event/process_memory_totals_dump_provider.cc b/base/trace_event/process_memory_totals_dump_provider.cc |
| index a8617207dcfc35350496ebf7b27c8d758c891679..b859a1d64b9ece9d86777c3a2a43b957a5017b69 100644 |
| --- a/base/trace_event/process_memory_totals_dump_provider.cc |
| +++ b/base/trace_event/process_memory_totals_dump_provider.cc |
| @@ -55,14 +55,24 @@ ProcessMemoryTotalsDumpProvider::~ProcessMemoryTotalsDumpProvider() { |
| // the current process. |
| bool ProcessMemoryTotalsDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, |
| ProcessMemoryDump* pmd) { |
| - const uint64 rss_bytes = rss_bytes_for_testing |
| - ? rss_bytes_for_testing |
| - : process_metrics_->GetWorkingSetSize(); |
| - |
| + uint64 rss_bytes; |
| uint64 peak_rss_bytes = 0; |
| + if (UNLIKELY(rss_bytes_for_testing)) { |
| + rss_bytes = rss_bytes_for_testing; |
| +#if defined(OS_LINUX) |
|
Lei Zhang
2015/10/06 21:09:00
I haven't thought about this much, but if there's
ssid
2015/10/07 09:12:15
I cannot remove the ifdef totally since proc_statu
|
| + } else if (proc_status_fd.is_valid()) { |
| + rss_bytes = process_metrics_->GetWorkingSetSize(proc_status_fd.get()); |
| + peak_rss_bytes = |
| + process_metrics_->GetPeakWorkingSetSize(proc_status_fd.get()); |
| +#endif |
| + } else { |
| + rss_bytes = process_metrics_->GetWorkingSetSize(); |
| #if !defined(OS_IOS) |
| - peak_rss_bytes = process_metrics_->GetPeakWorkingSetSize(); |
| + peak_rss_bytes = process_metrics_->GetPeakWorkingSetSize(); |
| +#endif |
| + } |
| + |
| #if defined(OS_LINUX) || defined(OS_ANDROID) |
| if (kernel_supports_rss_peak_reset) { |
| // TODO(ssid): Fix crbug.com/461788 to write to the file from sandboxed |
| @@ -78,7 +88,6 @@ bool ProcessMemoryTotalsDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, |
| close(clear_refs_fd); |
| } |
| #endif // defined(OS_LINUX) || defined(OS_ANDROID) |
| -#endif // !defined(OS_IOS) |
| if (rss_bytes > 0) { |
| pmd->process_totals()->set_resident_set_bytes(rss_bytes); |