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

Side by Side Diff: mojo/services/tracing/public/interfaces/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: Cleanup 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 module tracing;
6
7 // To participate in the tracing ecosystem, implement the TraceController
8 // interface and connect to the tracing app. Then, when the controller's Start()
9 // function is called collect tracing data and pass it back via the provided
10 // TraceDataCollector interface up until Stop() is called.
11
12 interface TraceController {
13 StartTracing(string categories, TraceDataCollector collector);
14 StopTracing();
15 };
16
17 interface TraceDataCollector {
18 DataCollected(string json);
19 };
20
21 interface TraceCoordinator {
22 // Request tracing data from all connected TraceControllers to stream to
23 // |stream|.
24 Start(handle<data_pipe_producer> stream, string categories);
25
26 // Stop tracing and flush results to file.
27 StopAndFlush();
sky 2015/08/17 20:09:30 How do you know when the final DataCollected() is
msw 2015/08/17 21:25:51 I just added the struct and interface below and mo
28 };
29
30 // These times are used to determine startup performance metrics.
31 // TODO(msw): Use TimeTicks to avoid system clock changes: crbug.com/521164
32 struct StartupPerformanceTimes {
33 // TODO(msw): Rename to match "BrowserMainEntryTimeAbsolute" metric?
34 int64 shell_process_creation_time;
35 int64 browser_message_loop_start_time;
36 int64 browser_window_display_time;
37 int64 browser_open_tabs_time;
38 // TODO(msw): Rename to avoid "web contents"?
39 int64 first_web_contents_main_frame_load_time;
40 // TODO(msw): Rename to match "FirstWebContents.NonEmptyPaint" metric?
41 int64 first_visually_non_empty_layout_time;
42 };
43
44 interface StartupPerformanceDataCollector {
sky 2015/08/17 20:09:30 Expand your documentation above to cover this. It'
msw 2015/08/17 21:25:51 I added minimal documentation, let me know if it's
sky 2015/08/17 21:41:57 No, that's too obscure. If you can't do the single
45 // These setters may be called many times, only the first call is recorded.
46 SetShellProcessCreationTime(int64 time);
47 SetBrowserMessageLoopStartTime(int64 time);
48 SetBrowserWindowDisplayTime(int64 time);
49 SetBrowserOpenTabsTime(int64 time);
50 SetFirstWebContentsMainFrameLoadTime(int64 time);
51 SetFirstVisuallyNonEmptyLayoutTime(int64 time);
52
53 GetStartupPerformanceTimes() => (StartupPerformanceTimes times);
54 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698