Index: base/trace_event/memory_dump_scheduler.h |
diff --git a/base/trace_event/memory_dump_scheduler.h b/base/trace_event/memory_dump_scheduler.h |
index 2214e053b46a3c4e16541b8b0bb66ecf4f412719..be7530691a83748538a55ead0cdc3d458959fc84 100644 |
--- a/base/trace_event/memory_dump_scheduler.h |
+++ b/base/trace_event/memory_dump_scheduler.h |
@@ -68,6 +68,8 @@ class BASE_EXPORT MemoryDumpScheduler { |
}; |
struct PollingTriggerState { |
+ static const uint32_t kMaxNumMemorySamples = 50; |
+ |
explicit PollingTriggerState( |
scoped_refptr<SingleThreadTaskRunner> polling_task_runner); |
~PollingTriggerState(); |
@@ -85,6 +87,9 @@ class BASE_EXPORT MemoryDumpScheduler { |
int num_polls_from_last_dump; |
uint64_t last_dump_memory_total; |
+ int64_t memory_increase_threshold; |
+ uint64_t last_memory_totals_kb[kMaxNumMemorySamples]; |
+ uint32_t last_memory_totals_kb_index; |
DISALLOW_COPY_AND_ASSIGN(PollingTriggerState); |
}; |
@@ -101,6 +106,9 @@ class BASE_EXPORT MemoryDumpScheduler { |
// Returns true if peak memory value is detected. |
bool ShouldTriggerDump(uint64_t current_memory_total); |
+ // Helper to detect peaks in memory usage. |
+ bool IsCurrentSamplePeak(uint64_t current_memory_total); |
+ |
// Must be set before enabling tracing. |
static void SetPollingIntervalForTesting(uint32_t interval); |