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

Side by Side Diff: base/trace_event/process_memory_dump.cc

Issue 1383733002: [tracing] Add graphics memory dump provider for Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "base/trace_event/process_memory_dump.h" 5 #include "base/trace_event/process_memory_dump.h"
6 6
7 #include "base/trace_event/process_memory_totals.h" 7 #include "base/trace_event/process_memory_totals.h"
8 #include "base/trace_event/trace_event_argument.h" 8 #include "base/trace_event/trace_event_argument.h"
9 9
10 namespace base { 10 namespace base {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 allocator_dumps_storage_.push_back(mad); 49 allocator_dumps_storage_.push_back(mad);
50 allocator_dumps_[mad->absolute_name()] = mad; 50 allocator_dumps_[mad->absolute_name()] = mad;
51 } 51 }
52 52
53 MemoryAllocatorDump* ProcessMemoryDump::GetAllocatorDump( 53 MemoryAllocatorDump* ProcessMemoryDump::GetAllocatorDump(
54 const std::string& absolute_name) const { 54 const std::string& absolute_name) const {
55 auto it = allocator_dumps_.find(absolute_name); 55 auto it = allocator_dumps_.find(absolute_name);
56 return it == allocator_dumps_.end() ? nullptr : it->second; 56 return it == allocator_dumps_.end() ? nullptr : it->second;
57 } 57 }
58 58
59 MemoryAllocatorDump* ProcessMemoryDump::GetOrCreateAllocatorDump(
60 const std::string& absolute_name) {
61 MemoryAllocatorDump* mad = GetAllocatorDump(absolute_name);
62 if (mad)
63 return mad;
64 return CreateAllocatorDump(absolute_name);
65 }
66
59 MemoryAllocatorDump* ProcessMemoryDump::CreateSharedGlobalAllocatorDump( 67 MemoryAllocatorDump* ProcessMemoryDump::CreateSharedGlobalAllocatorDump(
60 const MemoryAllocatorDumpGuid& guid) { 68 const MemoryAllocatorDumpGuid& guid) {
61 // A shared allocator dump can be shared within a process and the guid could 69 // A shared allocator dump can be shared within a process and the guid could
62 // have been created already. 70 // have been created already.
63 MemoryAllocatorDump* allocator_dump = GetSharedGlobalAllocatorDump(guid); 71 MemoryAllocatorDump* allocator_dump = GetSharedGlobalAllocatorDump(guid);
64 return allocator_dump ? allocator_dump 72 return allocator_dump ? allocator_dump
65 : CreateAllocatorDump( 73 : CreateAllocatorDump(
66 GetSharedGlobalAllocatorDumpName(guid), guid); 74 GetSharedGlobalAllocatorDumpName(guid), guid);
67 } 75 }
68 76
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 163
156 void ProcessMemoryDump::AddSuballocation(const MemoryAllocatorDumpGuid& source, 164 void ProcessMemoryDump::AddSuballocation(const MemoryAllocatorDumpGuid& source,
157 const std::string& target_node_name) { 165 const std::string& target_node_name) {
158 std::string child_mad_name = target_node_name + "/__" + source.ToString(); 166 std::string child_mad_name = target_node_name + "/__" + source.ToString();
159 MemoryAllocatorDump* target_child_mad = CreateAllocatorDump(child_mad_name); 167 MemoryAllocatorDump* target_child_mad = CreateAllocatorDump(child_mad_name);
160 AddOwnershipEdge(source, target_child_mad->guid()); 168 AddOwnershipEdge(source, target_child_mad->guid());
161 } 169 }
162 170
163 } // namespace trace_event 171 } // namespace trace_event
164 } // namespace base 172 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698