tracing overhead is not correctly counted at base::trace_event::MemoryDumpManager::FinalizeDumpAndAddToTrace().
When invoking base::trace_event::MemoryDumpManager::FinalizeDumpAndAddToTrace, base::trace_event::ProcessMemoryDump::AsValueInto() is invoked and a very large traced value is created (if native heap profiling is enabled).
However, the large traced value is not counted as tracing overhead. So malloc's allocated_object_size looks much larger than shim_allocated_size.
c.f. stack trace at base::trace_event::EstimateTraceMemoryOverhead():
#0 0x7f238fe5d88c base::debug::StackTrace::StackTrace()
#1 0x7f238ff00ff9 base::trace_event::TraceEvent::EstimateTraceMemoryOverhead()
#2 0x7f238ff0391b base::trace_event::TraceLog::OnMemoryDump()
#3 0x7f238feee3dd base::trace_event::MemoryDumpManager::InvokeOnMemoryDump()
#4 0x7f238feedad4 base::trace_event::MemoryDumpManager::SetupNextMemoryDump()
#5 0x7f238feee2ff base::trace_event::MemoryDumpManager::InvokeOnMemoryDump()
#6 0x7f238feedad4 base::trace_event::MemoryDumpManager::SetupNextMemoryDump()
#7 0x7f238feee2ff base::trace_event::MemoryDumpManager::InvokeOnMemoryDump()
#8 0x7f238fe5e140 base::debug::TaskAnnotator::RunTask()
stack trace at base::trace_event::ProcessMemoryDump::AsValueInto():
#0 0x7f78a604488c base::debug::StackTrace::StackTrace()
#1 0x7f78a60db91b base::trace_event::ProcessMemoryDump::AsValueInto()
#2 0x7f78a164d3f1 memory_instrumentation::TracingObserver::AddDumpToTraceIfEnabled()
#3 0x7f78a164960b memory_instrumentation::ClientProcessImpl::OnProcessMemoryDumpDone()
#4 0x7f78a60d4eff base::trace_event::MemoryDumpManager::FinalizeDumpAndAddToTrace()
#5 0x7f78a60d709b _ZN4base8internal7InvokerINS0_9BindStateIMNS_11trace_event17MemoryDumpManagerEFvNSt3__110unique_ptrINS4_27ProcessMemoryDumpAsyncStateENS5_14default_deleteIS7_EEEEEJNS0_17UnretainedWrapperIS4_EENS0_13PassedWrapperISA_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#6 0x7f78a6045140 base::debug::TaskAnnotator::RunTask()
(commit: 0adc7cd14864359055909e55464ee563d27af6cb)
Comment 1 by tasak@google.com
, Aug 3 2017