| Index: chrome/browser/chrome_browser_main.cc
|
| diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
| index fb5034032e2085bdb551bd929c5420f4eb78b692..45d43ff09686daf433a9d3816d9c99bff7eb10ed 100644
|
| --- a/chrome/browser/chrome_browser_main.cc
|
| +++ b/chrome/browser/chrome_browser_main.cc
|
| @@ -577,11 +577,14 @@ ChromeBrowserMainParts::ChromeBrowserMainParts(
|
| startup_watcher_(new StartupTimeBomb()),
|
| shutdown_watcher_(new ShutdownWatcherHelper()),
|
| browser_field_trials_(parameters.command_line),
|
| + sampling_profiler_(base::PlatformThread::CurrentId(),
|
| + GetStartupSamplingParams()),
|
| profile_(NULL),
|
| run_message_loop_(true),
|
| notify_result_(ProcessSingleton::PROCESS_NONE),
|
| local_state_(NULL),
|
| restart_last_session_(false) {
|
| + sampling_profiler_.Start();
|
| // If we're running tests (ui_task is non-null).
|
| if (parameters.ui_task)
|
| browser_defaults::enable_help_app = false;
|
| @@ -724,6 +727,19 @@ void ChromeBrowserMainParts::RecordBrowserStartupTime() {
|
| new LoadCompleteListener();
|
| }
|
|
|
| +// static
|
| +base::StackSamplingProfiler::SamplingParams
|
| +ChromeBrowserMainParts::GetStartupSamplingParams() {
|
| + // Sample at 10Hz for 30 seconds.
|
| + base::StackSamplingProfiler::SamplingParams params;
|
| + params.initial_delay = base::TimeDelta::FromMilliseconds(0);
|
| + params.bursts = 1;
|
| + params.samples_per_burst = 300;
|
| + params.sampling_interval = base::TimeDelta::FromMilliseconds(100);
|
| + params.preserve_sample_ordering = false;
|
| + return params;
|
| +}
|
| +
|
| // -----------------------------------------------------------------------------
|
| // TODO(viettrungluu): move more/rest of BrowserMain() into BrowserMainParts.
|
|
|
|
|