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

Side by Side Diff: content/browser/tracing/tracing_controller_impl.cc

Issue 1333873002: [tracing] Fix MemoryDumpManager to support startup tracing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Re dsinclair #5 (nits, invert Initialize args) Created 5 years, 3 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 unified diff | Download patch
« no previous file with comments | « content/browser/tracing/tracing_controller_impl.h ('k') | content/child/child_thread_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #include "content/browser/tracing/tracing_controller_impl.h" 4 #include "content/browser/tracing/tracing_controller_impl.h"
5 5
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/files/file_util.h" 7 #include "base/files/file_util.h"
8 #include "base/json/string_escape.h" 8 #include "base/json/string_escape.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 pending_memory_dump_ack_count_(0), 52 pending_memory_dump_ack_count_(0),
53 failed_memory_dump_count_(0), 53 failed_memory_dump_count_(0),
54 // Tracing may have been enabled by ContentMainRunner if kTraceStartup 54 // Tracing may have been enabled by ContentMainRunner if kTraceStartup
55 // is specified in command line. 55 // is specified in command line.
56 #if defined(OS_CHROMEOS) || defined(OS_WIN) 56 #if defined(OS_CHROMEOS) || defined(OS_WIN)
57 is_system_tracing_(false), 57 is_system_tracing_(false),
58 #endif 58 #endif
59 is_recording_(TraceLog::GetInstance()->IsEnabled()), 59 is_recording_(TraceLog::GetInstance()->IsEnabled()),
60 is_monitoring_(false), 60 is_monitoring_(false),
61 is_power_tracing_(false) { 61 is_power_tracing_(false) {
62 base::trace_event::MemoryDumpManager::GetInstance()->SetDelegate(this); 62 base::trace_event::MemoryDumpManager::GetInstance()->Initialize(
63 this /* delegate */, true /* is_coordinator */);
63 64
64 // Deliberately leaked, like this class. 65 // Deliberately leaked, like this class.
65 base::FileTracing::SetProvider(new FileTracingProviderImpl); 66 base::FileTracing::SetProvider(new FileTracingProviderImpl);
66 } 67 }
67 68
68 TracingControllerImpl::~TracingControllerImpl() { 69 TracingControllerImpl::~TracingControllerImpl() {
69 // This is a Leaky instance. 70 // This is a Leaky instance.
70 NOTREACHED(); 71 NOTREACHED();
71 } 72 }
72 73
(...skipping 766 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 // If there are no child processes we are just done. 840 // If there are no child processes we are just done.
840 if (pending_memory_dump_ack_count_ == 1) 841 if (pending_memory_dump_ack_count_ == 1)
841 return; 842 return;
842 843
843 pending_memory_dump_filters_ = trace_message_filters_; 844 pending_memory_dump_filters_ = trace_message_filters_;
844 845
845 for (const scoped_refptr<TraceMessageFilter>& tmf : trace_message_filters_) 846 for (const scoped_refptr<TraceMessageFilter>& tmf : trace_message_filters_)
846 tmf->SendProcessMemoryDumpRequest(args); 847 tmf->SendProcessMemoryDumpRequest(args);
847 } 848 }
848 849
849 bool TracingControllerImpl::IsCoordinatorProcess() const {
850 return true;
851 }
852
853 uint64 TracingControllerImpl::GetTracingProcessId() const { 850 uint64 TracingControllerImpl::GetTracingProcessId() const {
854 return ChildProcessHost::kBrowserTracingProcessId; 851 return ChildProcessHost::kBrowserTracingProcessId;
855 } 852 }
856 853
857 void TracingControllerImpl::AddTraceMessageFilterObserver( 854 void TracingControllerImpl::AddTraceMessageFilterObserver(
858 TraceMessageFilterObserver* observer) { 855 TraceMessageFilterObserver* observer) {
859 DCHECK_CURRENTLY_ON(BrowserThread::UI); 856 DCHECK_CURRENTLY_ON(BrowserThread::UI);
860 trace_message_filter_observers_.AddObserver(observer); 857 trace_message_filter_observers_.AddObserver(observer);
861 858
862 for (auto& filter : trace_message_filters_) 859 for (auto& filter : trace_message_filters_)
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 is_monitoring_ = is_monitoring; 935 is_monitoring_ = is_monitoring;
939 #if !defined(OS_ANDROID) 936 #if !defined(OS_ANDROID)
940 for (std::set<TracingUI*>::iterator it = tracing_uis_.begin(); 937 for (std::set<TracingUI*>::iterator it = tracing_uis_.begin();
941 it != tracing_uis_.end(); it++) { 938 it != tracing_uis_.end(); it++) {
942 (*it)->OnMonitoringStateChanged(is_monitoring); 939 (*it)->OnMonitoringStateChanged(is_monitoring);
943 } 940 }
944 #endif 941 #endif
945 } 942 }
946 943
947 } // namespace content 944 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/tracing/tracing_controller_impl.h ('k') | content/child/child_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698