| Index: components/startup_metric_utils/browser/startup_metric_utils.cc
|
| diff --git a/components/startup_metric_utils/browser/startup_metric_utils.cc b/components/startup_metric_utils/browser/startup_metric_utils.cc
|
| index 03760ca0733a8c06b5920ee6f59f31b678e8f8b1..9fd7d911ae0d256bcb9acba29c430e88f0c6e820 100644
|
| --- a/components/startup_metric_utils/browser/startup_metric_utils.cc
|
| +++ b/components/startup_metric_utils/browser/startup_metric_utils.cc
|
| @@ -319,6 +319,8 @@ void RecordMainEntryTimeHistogram() {
|
| (browser_main_entry_time_raw_ms >> 1) & kLower31BitsMask);
|
|
|
| // A timestamp is a 64 bit value, yet histograms can only store 32 bits.
|
| + // TODO(gabadie): Once startup_with_url.* benchmarks are replaced by
|
| + // startup_with_url2.*, remove this dirty hack (crbug.com/539287).
|
| LOCAL_HISTOGRAM_TIMES("Startup.BrowserMainEntryTimeAbsoluteHighWord",
|
| browser_main_entry_time_raw_ms_high_word);
|
| LOCAL_HISTOGRAM_TIMES("Startup.BrowserMainEntryTimeAbsoluteLowWord",
|
| @@ -357,6 +359,22 @@ base::TimeTicks ExeMainEntryPointTicks() {
|
| return base::TimeTicks();
|
| }
|
|
|
| +void AddStartupEventsForTelemetry()
|
| +{
|
| + DCHECK(!g_browser_main_entry_point_ticks.Get().is_null());
|
| +
|
| + TRACE_EVENT_INSTANT_WITH_TIMESTAMP0(
|
| + "startup", "Startup.BrowserMainEntryPoint", 0,
|
| + g_browser_main_entry_point_ticks.Get().ToInternalValue());
|
| +
|
| + if (!g_process_creation_ticks.Get().is_null())
|
| + {
|
| + TRACE_EVENT_INSTANT_WITH_TIMESTAMP0(
|
| + "startup", "Startup.BrowserProcessCreation", 0,
|
| + g_process_creation_ticks.Get().ToInternalValue());
|
| + }
|
| +}
|
| +
|
| } // namespace
|
|
|
| bool WasNonBrowserUIDisplayed() {
|
| @@ -394,6 +412,7 @@ void RecordExeMainEntryPointTime(const base::Time& time) {
|
|
|
| void RecordBrowserMainMessageLoopStart(const base::TimeTicks& ticks,
|
| bool is_first_run) {
|
| + AddStartupEventsForTelemetry();
|
| RecordHardFaultHistogram(is_first_run);
|
| RecordMainEntryTimeHistogram();
|
|
|
|
|