Index: base/memory/shared_memory_tracker.h |
diff --git a/base/memory/shared_memory_tracker.h b/base/memory/shared_memory_tracker.h |
index fe1a3dd392177b0c20bb5b2daf6498d85eae7e0b..2a97ba854af5e2cd4beff96be068076a2c86c8c8 100644 |
--- a/base/memory/shared_memory_tracker.h |
+++ b/base/memory/shared_memory_tracker.h |
@@ -12,6 +12,7 @@ |
namespace base { |
namespace trace_event { |
+class MemoryAllocatorDumpGuid; |
class ProcessMemoryDump; |
} |
@@ -22,6 +23,22 @@ class BASE_EXPORT SharedMemoryTracker |
// Returns a singleton instance. |
static SharedMemoryTracker* GetInstance(); |
+ // Adds two ownership edges between 1) the given guid |source| and 2) a |
+ // process-local dump for the shared memory of |shared_memory_handle|, and |
+ // between 2) and 3) a global shared memory dump. This helps to get accurate |
+ // effective size of modules that backend is shared memory. |
+ static bool AddOwnershipEdges( |
+ trace_event::ProcessMemoryDump* pmd, |
+ const trace_event::MemoryAllocatorDumpGuid& source, |
+ const SharedMemoryHandle& shared_memory_handle, |
+ size_t size); |
+ static bool AddOwnershipEdges( |
+ trace_event::ProcessMemoryDump* pmd, |
+ const trace_event::MemoryAllocatorDumpGuid& source, |
+ const SharedMemoryHandle& shared_memory_handle, |
+ size_t size, |
+ int importance); |
+ |
// Records shared memory usage on mapping. |
void IncrementMemoryUsage(const SharedMemory& shared_memory); |
@@ -41,8 +58,8 @@ class BASE_EXPORT SharedMemoryTracker |
~SharedMemoryTracker() override; |
// base::trace_event::MemoryDumpProvider implementation. |
- bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args, |
- base::trace_event::ProcessMemoryDump* pmd) override; |
+ bool OnMemoryDump(const trace_event::MemoryDumpArgs& args, |
+ trace_event::ProcessMemoryDump* pmd) override; |
// Used to lock when |usages_| is modified or read. |
Lock usages_lock_; |