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

Unified Diff: base/trace_event/process_memory_dump.h

Issue 1095003002: [tracing] Simplify design of MemoryAllocatorDump (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@matr_2_sess
Patch Set: Rebase Created 5 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
« no previous file with comments | « base/trace_event/memory_dump_session_state.h ('k') | base/trace_event/process_memory_dump.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 3d66f78e56dabff61480102060a0e8f1cb4c9d36..bd9c5434ddabfc624b0a804c1c5744104a180f5d 100644
--- a/base/trace_event/process_memory_dump.h
+++ b/base/trace_event/process_memory_dump.h
@@ -30,6 +30,8 @@ class MemoryDumpSessionState;
// dump point time.
class BASE_EXPORT ProcessMemoryDump {
public:
+ // Maps allocator dumps absolute names (allocator_name/heap/subheap) to
+ // MemoryAllocatorDump instances.
using AllocatorDumpsMap =
SmallMap<hash_map<std::string, MemoryAllocatorDump*>>;
@@ -48,16 +50,26 @@ class BASE_EXPORT ProcessMemoryDump {
void set_has_process_mmaps() { has_process_mmaps_ = true; }
// Creates a new MemoryAllocatorDump with the given name and returns the
- // empty object back to the caller. The |name| must be unique in the dump.
- // ProcessMemoryDump handles the memory ownership of the created object.
- // |parent| can be used to specify a hierarchical relationship of the
- // allocator dumps.
- MemoryAllocatorDump* CreateAllocatorDump(const std::string& name);
- MemoryAllocatorDump* CreateAllocatorDump(const std::string& name,
- MemoryAllocatorDump* parent);
-
- // Returns a MemoryAllocatorDump given its name or nullptr if not found.
- MemoryAllocatorDump* GetAllocatorDump(const std::string& name) const;
+ // empty object back to the caller.
+ // Arguments:
+ // allocator_name: a name that univocally identifies allocator dumps
+ // produced by this provider. It acts as a type w.r.t. the allocator
+ // attributes, in the sense that all the MAD with the same allocator_name
+ // are expected to have the same attributes.
+ // heap_name, either:
+ // - kRootHeap: if the allocator has only one default heap.
+ // - a string identifing a heap name (e.g., isolate1, isolate2 ...). It is
+ // possible to specify nesting by using a path-like string (e.g.,
+ // isolate1/heap_spaceX, isolate1/heap_spaceY, isolate2/heap_spaceX).
+ // The tuple (|allocator_name|, |heap_name|) is unique inside a PMD.
+ // ProcessMemoryDump handles the memory ownership of its MemoryAllocatorDumps.
+ MemoryAllocatorDump* CreateAllocatorDump(const std::string& allocator_name,
+ const std::string& heap_name);
+
+ // Looks up a MemoryAllocatorDump given its allocator and heap names, or
+ // nullptr if not found.
+ MemoryAllocatorDump* GetAllocatorDump(const std::string& allocator_name,
+ const std::string& heap_name) const;
// Returns the map of the MemoryAllocatorDumps added to this dump.
const AllocatorDumpsMap& allocator_dumps() const { return allocator_dumps_; }
« no previous file with comments | « base/trace_event/memory_dump_session_state.h ('k') | base/trace_event/process_memory_dump.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698