| 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;
|
|
|