| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_INSTRUMENTATION_S
TRUCT_TRAITS_H_ | 5 #ifndef SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_INSTRUMENTATION_S
TRUCT_TRAITS_H_ |
| 6 #define SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_INSTRUMENTATION_S
TRUCT_TRAITS_H_ | 6 #define SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_INSTRUMENTATION_S
TRUCT_TRAITS_H_ |
| 7 | 7 |
| 8 #include "base/process/process_handle.h" | 8 #include "base/process/process_handle.h" |
| 9 #include "base/trace_event/memory_dump_request_args.h" | 9 #include "base/trace_event/memory_dump_request_args.h" |
| 10 #include "mojo/common/common_custom_types_struct_traits.h" | 10 #include "mojo/common/common_custom_types_struct_traits.h" |
| 11 #include "services/resource_coordinator/public/cpp/memory/memory_export.h" |
| 11 #include "services/resource_coordinator/public/interfaces/memory/memory_instrume
ntation.mojom.h" | 12 #include "services/resource_coordinator/public/interfaces/memory/memory_instrume
ntation.mojom.h" |
| 12 | 13 |
| 13 namespace mojo { | 14 namespace mojo { |
| 14 | 15 |
| 15 template <> | 16 template <> |
| 16 struct EnumTraits<memory_instrumentation::mojom::DumpType, | 17 struct SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_EXPORT |
| 17 base::trace_event::MemoryDumpType> { | 18 EnumTraits<memory_instrumentation::mojom::DumpType, |
| 19 base::trace_event::MemoryDumpType> { |
| 18 static memory_instrumentation::mojom::DumpType ToMojom( | 20 static memory_instrumentation::mojom::DumpType ToMojom( |
| 19 base::trace_event::MemoryDumpType type); | 21 base::trace_event::MemoryDumpType type); |
| 20 static bool FromMojom(memory_instrumentation::mojom::DumpType input, | 22 static bool FromMojom(memory_instrumentation::mojom::DumpType input, |
| 21 base::trace_event::MemoryDumpType* out); | 23 base::trace_event::MemoryDumpType* out); |
| 22 }; | 24 }; |
| 23 | 25 |
| 24 template <> | 26 template <> |
| 25 struct EnumTraits<memory_instrumentation::mojom::LevelOfDetail, | 27 struct SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_EXPORT |
| 26 base::trace_event::MemoryDumpLevelOfDetail> { | 28 EnumTraits<memory_instrumentation::mojom::LevelOfDetail, |
| 29 base::trace_event::MemoryDumpLevelOfDetail> { |
| 27 static memory_instrumentation::mojom::LevelOfDetail ToMojom( | 30 static memory_instrumentation::mojom::LevelOfDetail ToMojom( |
| 28 base::trace_event::MemoryDumpLevelOfDetail level_of_detail); | 31 base::trace_event::MemoryDumpLevelOfDetail level_of_detail); |
| 29 static bool FromMojom(memory_instrumentation::mojom::LevelOfDetail input, | 32 static bool FromMojom(memory_instrumentation::mojom::LevelOfDetail input, |
| 30 base::trace_event::MemoryDumpLevelOfDetail* out); | 33 base::trace_event::MemoryDumpLevelOfDetail* out); |
| 31 }; | 34 }; |
| 32 | 35 |
| 33 template <> | 36 template <> |
| 34 struct StructTraits<memory_instrumentation::mojom::RequestArgsDataView, | 37 struct SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_EXPORT |
| 35 base::trace_event::MemoryDumpRequestArgs> { | 38 StructTraits<memory_instrumentation::mojom::RequestArgsDataView, |
| 39 base::trace_event::MemoryDumpRequestArgs> { |
| 36 static uint64_t dump_guid( | 40 static uint64_t dump_guid( |
| 37 const base::trace_event::MemoryDumpRequestArgs& args) { | 41 const base::trace_event::MemoryDumpRequestArgs& args) { |
| 38 return args.dump_guid; | 42 return args.dump_guid; |
| 39 } | 43 } |
| 40 static base::trace_event::MemoryDumpType dump_type( | 44 static base::trace_event::MemoryDumpType dump_type( |
| 41 const base::trace_event::MemoryDumpRequestArgs& args) { | 45 const base::trace_event::MemoryDumpRequestArgs& args) { |
| 42 return args.dump_type; | 46 return args.dump_type; |
| 43 } | 47 } |
| 44 static base::trace_event::MemoryDumpLevelOfDetail level_of_detail( | 48 static base::trace_event::MemoryDumpLevelOfDetail level_of_detail( |
| 45 const base::trace_event::MemoryDumpRequestArgs& args) { | 49 const base::trace_event::MemoryDumpRequestArgs& args) { |
| 46 return args.level_of_detail; | 50 return args.level_of_detail; |
| 47 } | 51 } |
| 48 static bool Read(memory_instrumentation::mojom::RequestArgsDataView input, | 52 static bool Read(memory_instrumentation::mojom::RequestArgsDataView input, |
| 49 base::trace_event::MemoryDumpRequestArgs* out); | 53 base::trace_event::MemoryDumpRequestArgs* out); |
| 50 }; | 54 }; |
| 51 | 55 |
| 52 template <> | 56 template <> |
| 53 struct StructTraits< | 57 struct SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_EXPORT |
| 54 memory_instrumentation::mojom::ChromeMemDumpDataView, | 58 StructTraits<memory_instrumentation::mojom::ChromeMemDumpDataView, |
| 55 base::trace_event::MemoryDumpCallbackResult::ChromeMemDump> { | 59 base::trace_event::MemoryDumpCallbackResult::ChromeMemDump> { |
| 56 static uint32_t malloc_total_kb( | 60 static uint32_t malloc_total_kb( |
| 57 const base::trace_event::MemoryDumpCallbackResult::ChromeMemDump& args) { | 61 const base::trace_event::MemoryDumpCallbackResult::ChromeMemDump& args) { |
| 58 return args.malloc_total_kb; | 62 return args.malloc_total_kb; |
| 59 } | 63 } |
| 60 static uint32_t partition_alloc_total_kb( | 64 static uint32_t partition_alloc_total_kb( |
| 61 const base::trace_event::MemoryDumpCallbackResult::ChromeMemDump& args) { | 65 const base::trace_event::MemoryDumpCallbackResult::ChromeMemDump& args) { |
| 62 return args.partition_alloc_total_kb; | 66 return args.partition_alloc_total_kb; |
| 63 } | 67 } |
| 64 static uint32_t blink_gc_total_kb( | 68 static uint32_t blink_gc_total_kb( |
| 65 const base::trace_event::MemoryDumpCallbackResult::ChromeMemDump& args) { | 69 const base::trace_event::MemoryDumpCallbackResult::ChromeMemDump& args) { |
| 66 return args.blink_gc_total_kb; | 70 return args.blink_gc_total_kb; |
| 67 } | 71 } |
| 68 static uint32_t v8_total_kb( | 72 static uint32_t v8_total_kb( |
| 69 const base::trace_event::MemoryDumpCallbackResult::ChromeMemDump& args) { | 73 const base::trace_event::MemoryDumpCallbackResult::ChromeMemDump& args) { |
| 70 return args.v8_total_kb; | 74 return args.v8_total_kb; |
| 71 } | 75 } |
| 72 static bool Read( | 76 static bool Read( |
| 73 memory_instrumentation::mojom::ChromeMemDumpDataView input, | 77 memory_instrumentation::mojom::ChromeMemDumpDataView input, |
| 74 base::trace_event::MemoryDumpCallbackResult::ChromeMemDump* out); | 78 base::trace_event::MemoryDumpCallbackResult::ChromeMemDump* out); |
| 75 }; | 79 }; |
| 76 | 80 |
| 77 template <> | 81 template <> |
| 78 struct StructTraits<memory_instrumentation::mojom::OSMemDumpDataView, | 82 struct SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_EXPORT |
| 79 base::trace_event::MemoryDumpCallbackResult::OSMemDump> { | 83 StructTraits<memory_instrumentation::mojom::OSMemDumpDataView, |
| 84 base::trace_event::MemoryDumpCallbackResult::OSMemDump> { |
| 80 static uint32_t resident_set_kb( | 85 static uint32_t resident_set_kb( |
| 81 const base::trace_event::MemoryDumpCallbackResult::OSMemDump& args) { | 86 const base::trace_event::MemoryDumpCallbackResult::OSMemDump& args) { |
| 82 return args.resident_set_kb; | 87 return args.resident_set_kb; |
| 83 } | 88 } |
| 84 static bool Read(memory_instrumentation::mojom::OSMemDumpDataView input, | 89 static bool Read(memory_instrumentation::mojom::OSMemDumpDataView input, |
| 85 base::trace_event::MemoryDumpCallbackResult::OSMemDump* out); | 90 base::trace_event::MemoryDumpCallbackResult::OSMemDump* out); |
| 86 }; | 91 }; |
| 87 | 92 |
| 88 template <> | 93 template <> |
| 89 struct StructTraits< | 94 struct SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_EXPORT StructTraits< |
| 90 memory_instrumentation::mojom::MemoryDumpCallbackResultDataView, | 95 memory_instrumentation::mojom::MemoryDumpCallbackResultDataView, |
| 91 base::trace_event::MemoryDumpCallbackResult> { | 96 base::trace_event::MemoryDumpCallbackResult> { |
| 92 static base::trace_event::MemoryDumpCallbackResult::OSMemDump os_dump( | 97 static base::trace_event::MemoryDumpCallbackResult::OSMemDump os_dump( |
| 93 const base::trace_event::MemoryDumpCallbackResult& args) { | 98 const base::trace_event::MemoryDumpCallbackResult& args) { |
| 94 return args.os_dump; | 99 return args.os_dump; |
| 95 } | 100 } |
| 96 static base::trace_event::MemoryDumpCallbackResult::ChromeMemDump chrome_dump( | 101 static base::trace_event::MemoryDumpCallbackResult::ChromeMemDump chrome_dump( |
| 97 const base::trace_event::MemoryDumpCallbackResult& args) { | 102 const base::trace_event::MemoryDumpCallbackResult& args) { |
| 98 return args.chrome_dump; | 103 return args.chrome_dump; |
| 99 } | 104 } |
| 100 static const std::map<base::ProcessId, | 105 static const std::map<base::ProcessId, |
| 101 base::trace_event::MemoryDumpCallbackResult::OSMemDump>& | 106 base::trace_event::MemoryDumpCallbackResult::OSMemDump>& |
| 102 extra_processes_dump( | 107 extra_processes_dump( |
| 103 const base::trace_event::MemoryDumpCallbackResult& args) { | 108 const base::trace_event::MemoryDumpCallbackResult& args) { |
| 104 return args.extra_processes_dump; | 109 return args.extra_processes_dump; |
| 105 } | 110 } |
| 106 static bool Read( | 111 static bool Read( |
| 107 memory_instrumentation::mojom::MemoryDumpCallbackResultDataView input, | 112 memory_instrumentation::mojom::MemoryDumpCallbackResultDataView input, |
| 108 base::trace_event::MemoryDumpCallbackResult* out); | 113 base::trace_event::MemoryDumpCallbackResult* out); |
| 109 }; | 114 }; |
| 110 | 115 |
| 111 } // namespace mojo | 116 } // namespace mojo |
| 112 | 117 |
| 113 #endif // SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_INSTRUMENTATIO
N_STRUCT_TRAITS_H_ | 118 #endif // SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_INSTRUMENTATIO
N_STRUCT_TRAITS_H_ |
| OLD | NEW |