Chromium Code Reviews| Index: base/trace_event/process_memory_dump.h |
| diff --git a/base/trace_event/process_memory_dump.h b/base/trace_event/process_memory_dump.h |
| index 4f7d141104dd3342a26c3263aa2686bf1f20eb5f..6d6a75e336fea5043bea63514168b04c72918e13 100644 |
| --- a/base/trace_event/process_memory_dump.h |
| +++ b/base/trace_event/process_memory_dump.h |
| @@ -17,6 +17,7 @@ |
| #include "base/trace_event/memory_dump_session_state.h" |
| #include "base/trace_event/process_memory_maps.h" |
| #include "base/trace_event/process_memory_totals.h" |
| +#include "base/trace_event/trace_event_argument.h" |
|
Primiano Tucci (use gerrit)
2015/10/26 11:52:07
can't TracedValue be fwd declared here?
Ruud van Asseldonk
2015/10/26 14:51:27
Yes it can. Fixed.
|
| // Define COUNT_RESIDENT_BYTES_SUPPORTED if platform supports counting of the |
| // resident memory. |
| @@ -47,6 +48,9 @@ class BASE_EXPORT ProcessMemoryDump { |
| using AllocatorDumpsMap = |
| SmallMap<hash_map<std::string, MemoryAllocatorDump*>>; |
| + using HeapDumpsMap = |
| + SmallMap<hash_map<std::string, scoped_refptr<TracedValue>>>; |
| + |
| #if defined(COUNT_RESIDENT_BYTES_SUPPORTED) |
| // Returns the total bytes resident for a virtual address range, with given |
| // |start_address| and |mapped_size|. |mapped_size| is specified in bytes. The |
| @@ -95,6 +99,12 @@ class BASE_EXPORT ProcessMemoryDump { |
| // Returns the map of the MemoryAllocatorDumps added to this dump. |
| const AllocatorDumpsMap& allocator_dumps() const { return allocator_dumps_; } |
| + // Adds a heap dump for the allocator with |absolute_name|. The |TracedValue| |
| + // must have the correct format. |trace_event::HeapDumper| will generate such |
| + // a value from a |trace_event::AllocationRegister|. |
| + void AddHeapDump(const std::string& absolute_name, |
| + scoped_refptr<TracedValue> heap_dump); |
| + |
| // Adds an ownership relationship between two MemoryAllocatorDump(s) with the |
| // semantics: |source| owns |target|, and has the effect of attributing |
| // the memory usage of |target| to |source|. |importance| is optional and |
| @@ -155,6 +165,7 @@ class BASE_EXPORT ProcessMemoryDump { |
| bool has_process_mmaps_; |
| AllocatorDumpsMap allocator_dumps_; |
| + HeapDumpsMap heap_dumps_; |
| // ProcessMemoryDump handles the memory ownership of all its belongings. |
| ScopedVector<MemoryAllocatorDump> allocator_dumps_storage_; |