Index: chrome/browser/chrome_browser_main.cc |
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc |
index 63a2ff7b2a9e676c6c348f5d5edc23c6b7ce6368..948d36bf5d0f9cad57176992aa541a031fa3ec52 100644 |
--- a/chrome/browser/chrome_browser_main.cc |
+++ b/chrome/browser/chrome_browser_main.cc |
@@ -1096,6 +1096,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
// application is in the foreground or not. Do not start here. |
#if !defined(OS_ANDROID) |
// Now that the file thread has been started, start recording. |
+ MetricsService::SetExecutionPhase(MetricsService::START_METRICS_RECORDING); |
StartMetricsRecording(); |
#endif |
@@ -1242,6 +1243,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
// calls to GetDefaultProfile(). |
ProfileManager::AllowGetDefaultProfile(); |
+ MetricsService::SetExecutionPhase(MetricsService::CREATE_PROFILE); |
profile_ = CreateProfile(parameters(), user_data_dir_, parsed_command_line()); |
if (!profile_) |
return content::RESULT_CODE_NORMAL_EXIT; |
@@ -1426,6 +1428,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
// Start watching for hangs during startup. We disarm this hang detector when |
// ThreadWatcher takes over or when browser is shutdown or when |
// startup_watcher_ is deleted. |
+ MetricsService::SetExecutionPhase(MetricsService::STARTUP_TIMEBOMB_ARM); |
startup_watcher_->Arm(base::TimeDelta::FromSeconds(300)); |
// On mobile, need for clean shutdown arises only when the application comes |
@@ -1447,6 +1450,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
#endif |
// Start watching all browser threads for responsiveness. |
+ MetricsService::SetExecutionPhase(MetricsService::THREAD_WATCHER_START); |
ThreadWatcherList::StartWatchingAll(parsed_command_line()); |
#if !defined(DISABLE_NACL) |
@@ -1618,6 +1622,7 @@ bool ChromeBrowserMainParts::MainMessageLoopRun(int* result_code) { |
performance_monitor::PerformanceMonitor::GetInstance()->StartGatherCycle(); |
+ MetricsService::SetExecutionPhase(MetricsService::MAIN_MESSAGE_LOOP_RUN); |
run_loop.Run(); |
return true; |
@@ -1634,6 +1639,7 @@ void ChromeBrowserMainParts::PostMainMessageLoopRun() { |
// Start watching for jank during shutdown. It gets disarmed when |
// |shutdown_watcher_| object is destructed. |
+ MetricsService::SetExecutionPhase(MetricsService::SHUTDOWN_TIMEBOMB_ARM); |
shutdown_watcher_->Arm(base::TimeDelta::FromSeconds(300)); |
// Disarm the startup hang detector time bomb if it is still Arm'ed. |