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

Unified Diff: base/trace_event/malloc_dump_provider.cc

Issue 2650863003: [tracing] Switch to new heap dump format. (Closed)
Patch Set: Fix rebase damage Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: base/trace_event/malloc_dump_provider.cc
diff --git a/base/trace_event/malloc_dump_provider.cc b/base/trace_event/malloc_dump_provider.cc
index 047f2c336d5c6295086316b12f883811ab9f2b0c..e6fb555a3211c5531d66ba65c09aba46e09bd121 100644
--- a/base/trace_event/malloc_dump_provider.cc
+++ b/base/trace_event/malloc_dump_provider.cc
@@ -15,7 +15,7 @@
#include "base/trace_event/heap_profiler_allocation_context.h"
#include "base/trace_event/heap_profiler_allocation_context_tracker.h"
#include "base/trace_event/heap_profiler_allocation_register.h"
-#include "base/trace_event/heap_profiler_heap_dump_writer.h"
+#include "base/trace_event/heap_profiler_event_writer.h"
#include "base/trace_event/process_memory_dump.h"
#include "base/trace_event/trace_event_argument.h"
#include "build/build_config.h"
@@ -297,35 +297,25 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
// Enclosing all the temporary data structures in a scope, so that the heap
// profiler does not see unbalanced malloc/free calls from these containers.
{
- size_t shim_allocated_objects_size = 0;
- size_t shim_allocated_objects_count = 0;
- TraceEventMemoryOverhead overhead;
- std::unordered_map<AllocationContext, AllocationMetrics> metrics_by_context;
- {
- AutoLock lock(allocation_register_lock_);
- if (allocation_register_) {
- if (args.level_of_detail == MemoryDumpLevelOfDetail::DETAILED) {
- for (const auto& alloc_size : *allocation_register_) {
- AllocationMetrics& metrics = metrics_by_context[alloc_size.context];
- metrics.size += alloc_size.size;
- metrics.count++;
-
- // Aggregate data for objects allocated through the shim.
- shim_allocated_objects_size += alloc_size.size;
- shim_allocated_objects_count++;
- }
+ AutoLock lock(allocation_register_lock_);
+ if (allocation_register_) {
+ if (args.level_of_detail == MemoryDumpLevelOfDetail::DETAILED) {
+ size_t shim_allocated_objects_size = 0;
+ size_t shim_allocated_objects_count = 0;
+ for (const auto& alloc_size : *allocation_register_) {
+ // Aggregate data for objects allocated through the shim.
+ shim_allocated_objects_size += alloc_size.size;
+ shim_allocated_objects_count++;
}
- allocation_register_->EstimateTraceMemoryOverhead(&overhead);
+ inner_dump->AddScalar("shim_allocated_objects_size",
+ MemoryAllocatorDump::kUnitsBytes,
+ shim_allocated_objects_size);
+ inner_dump->AddScalar("shim_allocator_object_count",
+ MemoryAllocatorDump::kUnitsObjects,
+ shim_allocated_objects_count);
}
-
- inner_dump->AddScalar("shim_allocated_objects_size",
- MemoryAllocatorDump::kUnitsBytes,
- shim_allocated_objects_size);
- inner_dump->AddScalar("shim_allocator_object_count",
- MemoryAllocatorDump::kUnitsObjects,
- shim_allocated_objects_count);
- } // lock(allocation_register_lock_)
- pmd->DumpHeapUsage(metrics_by_context, overhead, "malloc");
+ pmd->DumpHeapUsage(*allocation_register_, "malloc");
+ }
}
tid_dumping_heap_ = kInvalidThreadId;
« no previous file with comments | « base/trace_event/heap_profiler_type_name_deduplicator_unittest.cc ('k') | base/trace_event/memory_dump_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698