Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1111)

Unified Diff: mojo/services/tracing/tracing.mojom

Issue 1278673002: Add stats collection for telemetry startup.warm.blank_page test. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cache and reuse a single mojo:tracing connection in mojo:html_viewer. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+};

Powered by Google App Engine
This is Rietveld 408576698