New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 750567 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Hotlist-MemoryInfra



Sign in to add a comment

tracing overhead is not correctly counted at base::trace_event::MemoryDumpManager::FinalizeDumpAndAddToTrace()

Project Member Reported by tasak@google.com, Jul 31 2017

Issue description

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

Cc: ajwong@chromium.org dskiba@chromium.org

Sign in to add a comment