Index: base/trace_event/memory_dump_request_args.h |
diff --git a/base/trace_event/memory_dump_request_args.h b/base/trace_event/memory_dump_request_args.h |
index 90a866fa7a3fbd229b0290cf8053f7fa6861127c..c238cdf4f21807e1dbdeb28801586cc06703cb0c 100644 |
--- a/base/trace_event/memory_dump_request_args.h |
+++ b/base/trace_event/memory_dump_request_args.h |
@@ -9,10 +9,12 @@ |
// These are also used in the IPCs for coordinating inter-process memory dumps. |
#include <stdint.h> |
+#include <map> |
#include <string> |
#include "base/base_export.h" |
#include "base/callback.h" |
+#include "base/process/process_handle.h" |
namespace base { |
namespace trace_event { |
@@ -72,6 +74,31 @@ struct MemoryDumpArgs { |
MemoryDumpLevelOfDetail level_of_detail; |
}; |
+struct MemoryDumpCallbackResult { |
Primiano Tucci (use gerrit)
2017/03/21 15:26:06
maybe add a comment explaiing what this will be fo
|
+ struct OSMemDump { |
+ uint32_t pss_kb; |
+ uint32_t private_dirty; |
Primiano Tucci (use gerrit)
2017/03/21 15:26:06
+kb
|
+ }; |
+ struct ChromeMemDump { |
+ uint32_t malloc_total_kb; |
+ uint32_t partition_alloc_total_kb; |
+ uint32_t blink_gc_total_kb; |
+ uint32_t v8_total_kb; |
+ }; |
+ |
+ // These are for the current process. |
+ OSMemDump os_dump; |
+ ChromeMemDump chrome_dump; |
+ |
+ // This is optional and is used only in one case (Linux desktop) by the |
+ // browser process, when it needs to communicate the details of the |
+ // OSMemDump of other processes. |
+ std::map<ProcessId, OSMemDump> os_dump_for_child_processes; |
Primiano Tucci (use gerrit)
2017/03/21 15:26:06
maybe call this |extra_processes_dump|
base is no
|
+ |
+ MemoryDumpCallbackResult(); |
+ ~MemoryDumpCallbackResult(); |
+}; |
+ |
using MemoryDumpCallback = Callback<void(uint64_t dump_guid, bool success)>; |
BASE_EXPORT const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type); |