| Index: components/metrics/leak_detector/leak_detector_impl.h
|
| diff --git a/components/metrics/leak_detector/leak_detector_impl.h b/components/metrics/leak_detector/leak_detector_impl.h
|
| index 144582d704ace30acc30483fc687e3a83dade6fa..7c3ec24a54b7519eb8266b7efc0b06e027d3f38a 100644
|
| --- a/components/metrics/leak_detector/leak_detector_impl.h
|
| +++ b/components/metrics/leak_detector/leak_detector_impl.h
|
| @@ -38,22 +38,6 @@
|
| // Leak report generated by LeakDetectorImpl.
|
| class LeakReport {
|
| public:
|
| - // Stores a record of the allocation bookkeeping taken at a single moment in
|
| - // time.
|
| - struct AllocationBreakdown {
|
| - AllocationBreakdown();
|
| - ~AllocationBreakdown();
|
| -
|
| - // The contents of |LeakDetectorImpl::size_breakdown_history_| when this
|
| - // report was generated. See comment description of that variable.
|
| - InternalVector<uint32_t> counts_by_size;
|
| -
|
| - // The net number of allocations with alloc size of
|
| - // |Leakreport::alloc_size_bytes_| allocated from |call_stack_|, at the
|
| - // time this record was generated.
|
| - uint32_t count_for_call_stack;
|
| - };
|
| -
|
| LeakReport();
|
| ~LeakReport();
|
|
|
| @@ -61,8 +45,9 @@
|
|
|
| const InternalVector<uintptr_t>& call_stack() const { return call_stack_; }
|
|
|
| - const InternalVector<AllocationBreakdown>& alloc_breakdown_history() const {
|
| - return alloc_breakdown_history_;
|
| + const InternalVector<InternalVector<uint32_t>>& size_breakdown_history()
|
| + const {
|
| + return size_breakdown_history_;
|
| }
|
|
|
| // Used to compare the contents of two leak reports.
|
| @@ -80,9 +65,9 @@
|
| // will contain offsets in the executable binary.
|
| InternalVector<uintptr_t> call_stack_;
|
|
|
| - // Records of allocation bookkeeping over time. The first element is the
|
| - // oldest entry and the last element is the newest.
|
| - InternalVector<AllocationBreakdown> alloc_breakdown_history_;
|
| + // A snapshot of LeakDetectorImpl::size_breakdown_history_ when this report
|
| + // was generated. See comment description of that variable.
|
| + InternalVector<InternalVector<uint32_t>> size_breakdown_history_;
|
| };
|
|
|
| LeakDetectorImpl(uintptr_t mapping_addr,
|
| @@ -115,16 +100,6 @@
|
| // A stack table, if this size is being profiled for stack as well.
|
| CallStackTable* stack_table;
|
|
|
| - // Historical records of allocation breakdown by call site, for a particular
|
| - // allocation size. Each entry in the list is a RankedSet containing the top
|
| - // call sites ordered by most number of call sites, collected during a leak
|
| - // analysis. The oldest record is at the head and the newest record is at
|
| - // the tail.
|
| - InternalList<RankedSet> call_site_breakdown_history;
|
| -
|
| - AllocSizeEntry();
|
| - ~AllocSizeEntry();
|
| -
|
| // Returns net number of allocs.
|
| uint32_t GetNetAllocs() const { return num_allocs - num_frees; }
|
| };
|
| @@ -153,22 +128,6 @@
|
| // Returns the offset of |ptr| within the current binary. If it is not in the
|
| // current binary, just return |ptr| as an integer.
|
| uintptr_t GetOffset(const void* ptr) const;
|
| -
|
| - // Record some of the current allocation bookkeeping. The net number of allocs
|
| - // per size is recorded in |size_breakdown_history_|. The net number of allocs
|
| - // per call site for each size is recorded in
|
| - // |AllocSizeEntry::call_site_breakdown_history|.
|
| - //
|
| - // Not all the net alloc counts are recorded. And the number of historical
|
| - // records kept is capped. If adding a new record exceeds that limit, the
|
| - // oldest record is discarded. See the function definition for more details.
|
| - void RecordCurrentAllocationDataInHistory();
|
| -
|
| - // Store the data collected by RecordCurrentAllocationDataInHistory() in
|
| - // |*report|. Not all net alloc counts per call site will be stored, only the
|
| - // count for size=|size| and made from |call_site|.
|
| - void StoreHistoricalDataInReport(size_t size, const CallStack* call_site,
|
| - LeakReport* report);
|
|
|
| // Owns all unique call stack objects, which are allocated on the heap. Any
|
| // other class or function that references a call stack must get it from here,
|
|
|