diff options
author | andrewhayden@chromium.org <andrewhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-31 00:22:24 +0000 |
---|---|---|
committer | andrewhayden@chromium.org <andrewhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-31 00:22:24 +0000 |
commit | 5be58519425c2d3fec1c15d2278eaf8274e42fc2 (patch) | |
tree | 60dd8e97e8a77e45c4358eeaec56abdba3605818 /content/browser/browser_main_loop.cc | |
parent | 9e5e2fbc914745d0b9a92a956b5f4ce955daf977 (diff) | |
download | chromium_src-5be58519425c2d3fec1c15d2278eaf8274e42fc2.zip chromium_src-5be58519425c2d3fec1c15d2278eaf8274e42fc2.tar.gz chromium_src-5be58519425c2d3fec1c15d2278eaf8274e42fc2.tar.bz2 |
Trace time spent in BrowserMainLoop::MainMessageLoopStart
BUG=222350
Review URL: https://chromiumcodereview.appspot.com/15713006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203279 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/browser_main_loop.cc')
-rw-r--r-- | content/browser/browser_main_loop.cc | 66 |
1 files changed, 53 insertions, 13 deletions
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc index 27c791d..56d8549 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc @@ -371,27 +371,56 @@ void BrowserMainLoop::MainMessageLoopStart() { InitializeMainThread(); - system_monitor_.reset(new base::SystemMonitor); - power_monitor_.reset(new base::PowerMonitor); - hi_res_timer_manager_.reset(new HighResolutionTimerManager); - network_change_notifier_.reset(net::NetworkChangeNotifier::Create()); + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:SystemMonitor") + system_monitor_.reset(new base::SystemMonitor); + } + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:PowerMonitor") + power_monitor_.reset(new base::PowerMonitor); + } + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:HighResTimerManager") + hi_res_timer_manager_.reset(new HighResolutionTimerManager); + } + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:NetworkChangeNotifier") + network_change_notifier_.reset(net::NetworkChangeNotifier::Create()); + } + + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:MediaFeatures") + media::InitializeCPUSpecificMediaFeatures(); + } + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:AudioMan") + audio_manager_.reset(media::AudioManager::Create()); + } - media::InitializeCPUSpecificMediaFeatures(); - audio_manager_.reset(media::AudioManager::Create()); #if !defined(OS_IOS) - WebUIControllerFactory::RegisterFactory( - ContentWebUIControllerFactory::GetInstance()); + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:ContentWebUIController") + WebUIControllerFactory::RegisterFactory( + ContentWebUIControllerFactory::GetInstance()); + } - audio_mirroring_manager_.reset(new AudioMirroringManager()); + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:AudioMirroringManager") + audio_mirroring_manager_.reset(new AudioMirroringManager()); + } // Start tracing to a file if needed. if (base::debug::TraceLog::GetInstance()->IsEnabled()) { + TRACE_EVENT0("startup", "BrowserMainLoop::InitStartupTracing") TraceControllerImpl::GetInstance()->InitStartupTracing( parsed_command_line_); } - online_state_observer_.reset(new BrowserOnlineStateObserver); + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:OnlineStateObserver") + online_state_observer_.reset(new BrowserOnlineStateObserver); + } #endif // !defined(OS_IOS) #if defined(ENABLE_PLUGINS) @@ -399,7 +428,10 @@ void BrowserMainLoop::MainMessageLoopStart() { // plugin service as it is predominantly used from the io thread, // but must be created on the main thread. The service ctor is // inexpensive and does not invoke the io_thread() accessor. - PluginService::GetInstance()->Init(); + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:PluginService") + PluginService::GetInstance()->Init(); + } #endif #if defined(OS_WIN) @@ -421,11 +453,18 @@ void BrowserMainLoop::MainMessageLoopStart() { parts_->PostMainMessageLoopStart(); #if defined(OS_ANDROID) - SurfaceTexturePeer::InitInstance(new SurfaceTexturePeerBrowserImpl()); - DataFetcherImplAndroid::Init(base::android::AttachCurrentThread()); + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:SurfaceTexturePeer") + SurfaceTexturePeer::InitInstance(new SurfaceTexturePeerBrowserImpl()); + } + { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:DataFetcher") + DataFetcherImplAndroid::Init(base::android::AttachCurrentThread()); + } #endif if (parsed_command_line_.HasSwitch(switches::kMemoryMetrics)) { + TRACE_EVENT0("startup", "BrowserMainLoop::Subsystem:MemoryObserver") memory_observer_.reset(new MemoryObserver()); base::MessageLoop::current()->AddTaskObserver(memory_observer_.get()); } @@ -719,6 +758,7 @@ void BrowserMainLoop::ShutdownThreadsAndCleanUp() { } void BrowserMainLoop::InitializeMainThread() { + TRACE_EVENT0("startup", "BrowserMainLoop::InitializeMainThread") const char* kThreadName = "CrBrowserMain"; base::PlatformThread::SetName(kThreadName); if (main_message_loop_) |