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

Side by Side Diff: base/trace_event/trace_log.cc

Issue 1406213005: [tracing] Add names to memory-infra dumpers for debugging (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@memory-infra-runtime
Patch Set: Created 5 years, 1 month 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 "base/trace_event/trace_log.h" 5 #include "base/trace_event/trace_log.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/base_switches.h" 10 #include "base/base_switches.h"
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 : trace_log_(trace_log), 253 : trace_log_(trace_log),
254 chunk_index_(0), 254 chunk_index_(0),
255 generation_(trace_log->generation()) { 255 generation_(trace_log->generation()) {
256 // ThreadLocalEventBuffer is created only if the thread has a message loop, so 256 // ThreadLocalEventBuffer is created only if the thread has a message loop, so
257 // the following message_loop won't be NULL. 257 // the following message_loop won't be NULL.
258 MessageLoop* message_loop = MessageLoop::current(); 258 MessageLoop* message_loop = MessageLoop::current();
259 message_loop->AddDestructionObserver(this); 259 message_loop->AddDestructionObserver(this);
260 260
261 // This is to report the local memory usage when memory-infra is enabled. 261 // This is to report the local memory usage when memory-infra is enabled.
262 MemoryDumpManager::GetInstance()->RegisterDumpProvider( 262 MemoryDumpManager::GetInstance()->RegisterDumpProvider(
263 this, ThreadTaskRunnerHandle::Get()); 263 this, "ThreadLocalEventBuffer", ThreadTaskRunnerHandle::Get());
264 264
265 AutoLock lock(trace_log->lock_); 265 AutoLock lock(trace_log->lock_);
266 trace_log->thread_message_loops_.insert(message_loop); 266 trace_log->thread_message_loops_.insert(message_loop);
267 } 267 }
268 268
269 TraceLog::ThreadLocalEventBuffer::~ThreadLocalEventBuffer() { 269 TraceLog::ThreadLocalEventBuffer::~ThreadLocalEventBuffer() {
270 CheckThisIsCurrentBuffer(); 270 CheckThisIsCurrentBuffer();
271 MessageLoop::current()->RemoveDestructionObserver(this); 271 MessageLoop::current()->RemoveDestructionObserver(this);
272 MemoryDumpManager::GetInstance()->UnregisterDumpProvider(this); 272 MemoryDumpManager::GetInstance()->UnregisterDumpProvider(this);
273 273
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 } 388 }
389 389
390 LOG(ERROR) << "Start " << switches::kTraceToConsole 390 LOG(ERROR) << "Start " << switches::kTraceToConsole
391 << " with CategoryFilter '" << filter << "'."; 391 << " with CategoryFilter '" << filter << "'.";
392 SetEnabled(TraceConfig(filter, ECHO_TO_CONSOLE), RECORDING_MODE); 392 SetEnabled(TraceConfig(filter, ECHO_TO_CONSOLE), RECORDING_MODE);
393 } 393 }
394 #endif 394 #endif
395 395
396 logged_events_.reset(CreateTraceBuffer()); 396 logged_events_.reset(CreateTraceBuffer());
397 397
398 MemoryDumpManager::GetInstance()->RegisterDumpProvider(this); 398 MemoryDumpManager::GetInstance()->RegisterDumpProvider(this, "TraceLog");
399 } 399 }
400 400
401 TraceLog::~TraceLog() {} 401 TraceLog::~TraceLog() {}
402 402
403 void TraceLog::InitializeThreadLocalEventBufferIfSupported() { 403 void TraceLog::InitializeThreadLocalEventBufferIfSupported() {
404 // A ThreadLocalEventBuffer needs the message loop 404 // A ThreadLocalEventBuffer needs the message loop
405 // - to know when the thread exits; 405 // - to know when the thread exits;
406 // - to handle the final flush. 406 // - to handle the final flush.
407 // For a thread without a message loop or the message loop may be blocked, the 407 // For a thread without a message loop or the message loop may be blocked, the
408 // trace events will be added into the main buffer directly. 408 // trace events will be added into the main buffer directly.
(...skipping 1287 matching lines...) Expand 10 before | Expand all | Expand 10 after
1696 } 1696 }
1697 1697
1698 ScopedTraceBinaryEfficient::~ScopedTraceBinaryEfficient() { 1698 ScopedTraceBinaryEfficient::~ScopedTraceBinaryEfficient() {
1699 if (*category_group_enabled_) { 1699 if (*category_group_enabled_) {
1700 TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION(category_group_enabled_, name_, 1700 TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION(category_group_enabled_, name_,
1701 event_handle_); 1701 event_handle_);
1702 } 1702 }
1703 } 1703 }
1704 1704
1705 } // namespace trace_event_internal 1705 } // namespace trace_event_internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698