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

Side by Side Diff: third_party/WebKit/Source/platform/PartitionAllocMemoryDumpProvider.cpp

Issue 2650863003: [tracing] Switch to new heap dump format. (Closed)
Patch Set: Rebase Created 3 years, 6 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 "platform/PartitionAllocMemoryDumpProvider.h" 5 #include "platform/PartitionAllocMemoryDumpProvider.h"
6 6
7 #include <unordered_map> 7 #include <unordered_map>
8 8
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "base/trace_event/heap_profiler_allocation_context_tracker.h" 10 #include "base/trace_event/heap_profiler_allocation_context_tracker.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 return &instance; 128 return &instance;
129 } 129 }
130 130
131 bool PartitionAllocMemoryDumpProvider::OnMemoryDump( 131 bool PartitionAllocMemoryDumpProvider::OnMemoryDump(
132 const base::trace_event::MemoryDumpArgs& args, 132 const base::trace_event::MemoryDumpArgs& args,
133 base::trace_event::ProcessMemoryDump* memory_dump) { 133 base::trace_event::ProcessMemoryDump* memory_dump) {
134 using base::trace_event::MemoryDumpLevelOfDetail; 134 using base::trace_event::MemoryDumpLevelOfDetail;
135 135
136 MemoryDumpLevelOfDetail level_of_detail = args.level_of_detail; 136 MemoryDumpLevelOfDetail level_of_detail = args.level_of_detail;
137 if (allocation_register_.is_enabled()) { 137 if (allocation_register_.is_enabled()) {
138 // Overhead should always be reported, regardless of light vs. heavy. 138 memory_dump->DumpHeapUsage(allocation_register_, kPartitionAllocDumpName);
139 base::trace_event::TraceEventMemoryOverhead overhead;
140 std::unordered_map<base::trace_event::AllocationContext,
141 base::trace_event::AllocationMetrics>
142 metrics_by_context;
143 // Dump only the overhead estimation in non-detailed dumps.
144 if (level_of_detail == MemoryDumpLevelOfDetail::DETAILED) {
145 allocation_register_.UpdateAndReturnsMetrics(metrics_by_context);
146 }
147 allocation_register_.EstimateTraceMemoryOverhead(&overhead);
148 memory_dump->DumpHeapUsage(metrics_by_context, overhead, "partition_alloc");
149 } 139 }
150 140
151 PartitionStatsDumperImpl partition_stats_dumper(memory_dump, level_of_detail); 141 PartitionStatsDumperImpl partition_stats_dumper(memory_dump, level_of_detail);
152 142
153 base::trace_event::MemoryAllocatorDump* partitions_dump = 143 base::trace_event::MemoryAllocatorDump* partitions_dump =
154 memory_dump->CreateAllocatorDump(base::StringPrintf( 144 memory_dump->CreateAllocatorDump(base::StringPrintf(
155 "%s/%s", kPartitionAllocDumpName, kPartitionsDumpName)); 145 "%s/%s", kPartitionAllocDumpName, kPartitionsDumpName));
156 146
157 // This method calls memoryStats.partitionsDumpBucketStats with memory 147 // This method calls memoryStats.partitionsDumpBucketStats with memory
158 // statistics. 148 // statistics.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 allocation_register_.Insert(address, size, context); 193 allocation_register_.Insert(address, size, context);
204 } 194 }
205 195
206 void PartitionAllocMemoryDumpProvider::Remove(void* address) { 196 void PartitionAllocMemoryDumpProvider::Remove(void* address) {
207 if (!allocation_register_.is_enabled()) 197 if (!allocation_register_.is_enabled())
208 return; 198 return;
209 allocation_register_.Remove(address); 199 allocation_register_.Remove(address);
210 } 200 }
211 201
212 } // namespace blink 202 } // namespace blink
OLDNEW
« no previous file with comments | « base/trace_event/trace_event_memory_overhead.cc ('k') | third_party/WebKit/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698