Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Unified Diff: components/metrics/leak_detector/leak_detector.cc

Issue 2403223002: Leak reports collect information about the last uptrend (Closed)
Patch Set: Added a test case Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/metrics/leak_detector/leak_detector.cc
diff --git a/components/metrics/leak_detector/leak_detector.cc b/components/metrics/leak_detector/leak_detector.cc
index 5f33bab50fc7e9ffa661b08749068f8ec78f4014..6039e12a022adc413d212300116c3020913dfb8e 100644
--- a/components/metrics/leak_detector/leak_detector.cc
+++ b/components/metrics/leak_detector/leak_detector.cc
@@ -121,6 +121,9 @@ MemoryLeakReportProto ConvertLeakReportToProto(
proto_entry->set_count_for_call_stack(entry.count_for_call_stack);
}
+ proto.set_num_rising_intervals(report.num_rising_intervals());
+ proto.set_num_allocs_increase(report.num_allocs_increase());
+
return proto;
}
@@ -272,8 +275,14 @@ void LeakDetector::AllocHook(const void* ptr, size_t size) {
detector->last_analysis_alloc_size_ =
total_alloc_size - total_alloc_size % analysis_interval_bytes;
+ // Collect new leak reports. Use current |total_alloc_size| as
+ // a timestamp, then transform change in timestamp into the
+ // number of intervals passed.
InternalVector<InternalLeakReport> leak_reports;
- detector->impl_->TestForLeaks(&leak_reports);
+ detector->impl_->TestForLeaks(&leak_reports, total_alloc_size);
+ for (auto &report : leak_reports)
+ report.set_num_rising_intervals(
+ report.num_rising_intervals() / analysis_interval_bytes);
// Pass leak reports to observers.
std::vector<MemoryLeakReportProto> leak_report_protos;

Powered by Google App Engine
This is Rietveld 408576698