Index: mojo/services/tracing/tracing.mojom |
diff --git a/mojo/services/tracing/tracing.mojom b/mojo/services/tracing/tracing.mojom |
index fa8be1f655df695b43a8a17d294dd40f74b30a54..50dc5e065cdbf9619f8ea676827ce614e30a6e0e 100644 |
--- a/mojo/services/tracing/tracing.mojom |
+++ b/mojo/services/tracing/tracing.mojom |
@@ -26,3 +26,28 @@ interface TraceCoordinator { |
// Stop tracing and flush results to file. |
StopAndFlush(); |
}; |
+ |
+// These times are used to determine startup performance metrics. |
+struct StartupPerformanceTimes { |
+ // TODO(msw): Rename to match "BrowserMainEntryTimeAbsolute" metric? |
+ int64 shell_process_creation_time; |
sky
2015/08/12 23:54:36
Again, I think all this should be timeticks, not t
msw
2015/08/14 23:20:35
I filed http://crbug.com/521164 for this and added
|
+ int64 browser_message_loop_start_time; |
+ int64 browser_window_display_time; |
+ int64 browser_open_tabs_time; |
+ // TODO(msw): Rename to avoid "web contents"? |
+ int64 first_web_contents_main_frame_load_time; |
+ // TODO(msw): Rename to match "FirstWebContents.NonEmptyPaint" metric? |
+ int64 first_visually_non_empty_layout_time; |
+}; |
+ |
+interface StartupPerformanceController { |
yzshen1
2015/08/13 15:59:12
'Controller' seems a little confusing. Because Tra
msw
2015/08/14 23:20:35
I went with StartupPerformanceDataCollector, but i
yzshen1
2015/08/17 05:46:38
(Optional) One idea is "Performance" -> "Perf". So
|
+ // These setters may be called many times, only the first call is recorded. |
+ SetShellProcessCreationTime(int64 time); |
+ SetBrowserMessageLoopStartTime(int64 time); |
+ SetBrowserWindowDisplayTime(int64 time); |
+ SetBrowserOpenTabsTime(int64 time); |
+ SetFirstWebContentsMainFrameLoadTime(int64 time); |
+ SetFirstVisuallyNonEmptyLayoutTime(int64 time); |
+ |
+ GetStartupPerformanceTimes() => (StartupPerformanceTimes times); |
+}; |