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

Unified Diff: base/trace_event/heap_profiler_allocation_context_tracker.cc

Issue 1900223003: [tracing] Ignore tracing allocations in heap profiler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nits. Created 4 years, 8 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/heap_profiler_allocation_context_tracker.cc
diff --git a/base/trace_event/heap_profiler_allocation_context_tracker.cc b/base/trace_event/heap_profiler_allocation_context_tracker.cc
index 1fc8bc008a522419f7b1eb454c9b45a6d8c739b0..399c48c765643fa39a22731d6ad46974f9d8a48c 100644
--- a/base/trace_event/heap_profiler_allocation_context_tracker.cc
+++ b/base/trace_event/heap_profiler_allocation_context_tracker.cc
@@ -22,6 +22,7 @@ const size_t kMaxStackDepth = 128u;
const size_t kMaxTaskDepth = 16u;
AllocationContextTracker* const kInitializingSentinel =
reinterpret_cast<AllocationContextTracker*>(-1);
+const char kTracingOverhead[] = "tracing_overhead";
ThreadLocalStorage::StaticSlot g_tls_alloc_ctx_tracker = TLS_INITIALIZER;
@@ -50,7 +51,8 @@ AllocationContextTracker::GetInstanceForCurrentThread() {
return tracker;
}
-AllocationContextTracker::AllocationContextTracker() : thread_name_(nullptr) {
+AllocationContextTracker::AllocationContextTracker()
+ : thread_name_(nullptr), ignore_scope_count_(0) {
pseudo_stack_.reserve(kMaxStackDepth);
task_contexts_.reserve(kMaxTaskDepth);
}
@@ -119,6 +121,13 @@ void AllocationContextTracker::PopCurrentTaskContext(const char* context) {
AllocationContext AllocationContextTracker::GetContextSnapshot() {
AllocationContext ctx;
+ if (ignore_scope_count_) {
+ ctx = AllocationContext::Empty();
Primiano Tucci (use gerrit) 2016/04/20 16:34:57 I think either you or dskiba need to rebase on top
ssid 2016/04/21 01:07:46 Yes was waiting for it to land. Done.
+ ctx.backtrace.frames[0] = kTracingOverhead;
+ ctx.type_name = kTracingOverhead;
+ return ctx;
+ }
+
// Fill the backtrace.
{
auto src = pseudo_stack_.begin();

Powered by Google App Engine
This is Rietveld 408576698