Index: base/trace_event/memory_allocator_dump.h |
diff --git a/base/trace_event/memory_allocator_dump.h b/base/trace_event/memory_allocator_dump.h |
index 1bb27f952e1a0be5202980efa94b3dbb90fbaa1b..9a151a6f9c5e2df0960b1b56745ab1914bd539d8 100644 |
--- a/base/trace_event/memory_allocator_dump.h |
+++ b/base/trace_event/memory_allocator_dump.h |
@@ -8,6 +8,7 @@ |
#include "base/base_export.h" |
#include "base/basictypes.h" |
#include "base/logging.h" |
+#include "base/trace_event/memory_allocator_dump_guid.h" |
#include "base/values.h" |
namespace base { |
@@ -22,9 +23,15 @@ class BASE_EXPORT MemoryAllocatorDump { |
public: |
// MemoryAllocatorDump is owned by ProcessMemoryDump. |
MemoryAllocatorDump(const std::string& absolute_name, |
+ ProcessMemoryDump* process_memory_dump, |
+ const MemoryAllocatorDumpGuid& guid); |
+ MemoryAllocatorDump(const std::string& absolute_name, |
ProcessMemoryDump* process_memory_dump); |
~MemoryAllocatorDump(); |
+ // Standard attribute name to model allocated space. |
+ static const char kNameSize[]; |
+ |
// Standard attribute name to model total space requested by the allocator |
// (e.g., amount of pages requested to the system). |
static const char kNameOuterSize[]; |
@@ -56,6 +63,7 @@ class BASE_EXPORT MemoryAllocatorDump { |
// Helper setter for scalar attributes. |
void AddScalar(const std::string& name, const char* units, uint64 value); |
+ void AddScalarF(const std::string& name, const char* units, double value); |
void AddString(const std::string& name, |
const char* units, |
const std::string& value); |
@@ -68,10 +76,19 @@ class BASE_EXPORT MemoryAllocatorDump { |
return process_memory_dump_; |
} |
+ // |guid| is an optional global dump identifier, unique across all processes |
+ // within the scope of a global dump. It is only required when using the |
+ // graph APIs (see TODO_method_name) to express retention / suballocation or |
+ // cross process sharing. See crbug.com/492102 for design docs. |
+ // Subsequent MemoryAllocatorDump(s) with the same |absolute_name| are |
+ // expected to have the same guid. |
+ const MemoryAllocatorDumpGuid& guid() const { return guid_; } |
+ |
private: |
const std::string absolute_name_; |
ProcessMemoryDump* const process_memory_dump_; // Not owned (PMD owns this). |
DictionaryValue attributes_; |
+ MemoryAllocatorDumpGuid guid_; |
DISALLOW_COPY_AND_ASSIGN(MemoryAllocatorDump); |
}; |