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

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

Issue 1868193003: Store alloc history data in memory leak report protobuf (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@leak-history
Patch Set: Created 4 years, 8 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.h
diff --git a/components/metrics/leak_detector/leak_detector.h b/components/metrics/leak_detector/leak_detector.h
index 319e38695949e7a2137d76ecd802cc22a740f61b..3e49888d807fd0ab4d8fd56fdb2c04b755e21003 100644
--- a/components/metrics/leak_detector/leak_detector.h
+++ b/components/metrics/leak_detector/leak_detector.h
@@ -49,7 +49,21 @@ class LeakDetectorImpl;
class LeakDetector {
public:
// Contains a report of a detected memory leak.
+ // TODO(sque): This is becoming a copy of LeakDetectorImpl::LeakReport. Need
+ // to merge the two.
Simon Que 2016/04/11 20:31:25 I wonder if LeakDetector should just create a prot
Ilya Sherman 2016/04/13 00:07:12 Yeah, that seems pretty reasonable.
Simon Que 2016/04/13 22:41:31 Done.
struct LeakReport {
+ // This is a copy of LeakDetectorImpl::LeakReport::AllocationBreakdown. The
+ // only difference is that it uses a plain std::vector instead of an
+ // InternalVector (custom std::vector). See the definition of that struct
+ // for more information.
+ struct AllocationBreakdown {
+ AllocationBreakdown();
+ ~AllocationBreakdown();
+
+ std::vector<uint32_t> counts_by_size;
+ uint32_t count_for_call_stack;
+ };
+
LeakReport();
~LeakReport();
@@ -58,6 +72,9 @@ class LeakDetector {
// Unlike the CallStack struct, which consists of addresses, this call stack
// will contain offsets in the executable binary.
std::vector<uintptr_t> call_stack;
+
+ // Historical records of allocation data.
+ std::vector<AllocationBreakdown> alloc_breakdown_history;
Ilya Sherman 2016/04/13 00:07:12 Optional nit: Mebbe s/alloc/allocation, given the
Simon Que 2016/04/13 22:41:31 The corresponding field in the protobuf is "alloc_
};
// Interface for receiving leak reports.

Powered by Google App Engine
This is Rietveld 408576698