| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/trace_event/memory_dump_scheduler.h" | 5 #include "base/trace_event/memory_dump_scheduler.h" |
| 6 | 6 |
| 7 #include "base/process/process_metrics.h" | 7 #include "base/process/process_metrics.h" |
| 8 #include "base/single_thread_task_runner.h" | 8 #include "base/single_thread_task_runner.h" |
| 9 #include "base/threading/thread_task_runner_handle.h" | 9 #include "base/threading/thread_task_runner_handle.h" |
| 10 #include "base/trace_event/memory_dump_manager.h" | 10 #include "base/trace_event/memory_dump_manager.h" |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 } | 275 } |
| 276 | 276 |
| 277 void MemoryDumpScheduler::PollingTriggerState::ResetTotals() { | 277 void MemoryDumpScheduler::PollingTriggerState::ResetTotals() { |
| 278 if (!memory_increase_threshold) { | 278 if (!memory_increase_threshold) { |
| 279 memory_increase_threshold = kDefaultMemoryIncreaseThreshold; | 279 memory_increase_threshold = kDefaultMemoryIncreaseThreshold; |
| 280 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ | 280 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ |
| 281 defined(OS_ANDROID) | 281 defined(OS_ANDROID) |
| 282 // Set threshold to 1% of total system memory. | 282 // Set threshold to 1% of total system memory. |
| 283 SystemMemoryInfoKB meminfo; | 283 SystemMemoryInfoKB meminfo; |
| 284 bool res = GetSystemMemoryInfo(&meminfo); | 284 bool res = GetSystemMemoryInfo(&meminfo); |
| 285 if (res) | 285 if (res) { |
| 286 memory_increase_threshold = (meminfo.total / 100) * 1024; | 286 memory_increase_threshold = |
| 287 (static_cast<int64_t>(meminfo.total) / 100) * 1024; |
| 288 } |
| 289 DCHECK_GT(memory_increase_threshold, 0u); |
| 287 #endif | 290 #endif |
| 288 } | 291 } |
| 289 | 292 |
| 290 // Update the |last_dump_memory_total|'s value from the totals if it's not | 293 // Update the |last_dump_memory_total|'s value from the totals if it's not |
| 291 // first poll. | 294 // first poll. |
| 292 if (num_polls_from_last_dump >= 0 && | 295 if (num_polls_from_last_dump >= 0 && |
| 293 last_memory_totals_kb[last_memory_totals_kb_index]) { | 296 last_memory_totals_kb[last_memory_totals_kb_index]) { |
| 294 last_dump_memory_total = | 297 last_dump_memory_total = |
| 295 last_memory_totals_kb[last_memory_totals_kb_index] * 1024; | 298 last_memory_totals_kb[last_memory_totals_kb_index] * 1024; |
| 296 } | 299 } |
| 297 num_polls_from_last_dump = 0; | 300 num_polls_from_last_dump = 0; |
| 298 for (uint32_t i = 0; i < kMaxNumMemorySamples; ++i) | 301 for (uint32_t i = 0; i < kMaxNumMemorySamples; ++i) |
| 299 last_memory_totals_kb[i] = 0; | 302 last_memory_totals_kb[i] = 0; |
| 300 last_memory_totals_kb_index = 0; | 303 last_memory_totals_kb_index = 0; |
| 301 } | 304 } |
| 302 | 305 |
| 303 } // namespace trace_event | 306 } // namespace trace_event |
| 304 } // namespace base | 307 } // namespace base |
| OLD | NEW |