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

Side by Side Diff: services/tracing/public/interfaces/tracing.mojom

Issue 2852183002: Delete the tracing service (Closed)
Patch Set: Created 3 years, 7 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
« no previous file with comments | « services/tracing/public/interfaces/constants.mojom ('k') | services/tracing/recorder.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.mojom;
6
7 // To participate in the tracing ecosystem, implement the Provider interface
8 // connect to the tracing service & create a Recorder. Then, when the provider's
9 // Start() function is called collect tracing data and pass it back via the
10 // provided Recorder interface up until Stop() is called.
11
12 interface Provider {
13 // Categories can either be the empty string to mean the default set of
14 // categories or a comma-delimited list of categories to trace.
15 StartTracing(string categories, Recorder recorder);
16 StopTracing();
17 };
18
19 interface Recorder {
20 Record(string json);
21 };
22
23 interface Collector {
24 // Request tracing data from all connected providers to stream to
25 // |stream|.
26 Start(handle<data_pipe_producer> stream, string categories);
27
28 // Stop tracing and flush results to the |stream| passed in to Start().
29 // Closes |stream| when all data is collected.
30 StopAndFlush();
31 };
32
33 // These times are used to determine startup performance metrics.
34 // TODO(msw): Find a way to convert *_time metrics into TimeTicks earlier (ref:
35 // https://goo.gl/vZ8dZW).
36 struct StartupPerformanceTimes {
37 // TODO(msw): Rename to match "BrowserMainEntryTimeAbsolute" metric?
38 int64 service_manager_process_creation_time;
39 int64 service_manager_main_entry_point_time;
40 int64 browser_message_loop_start_ticks;
41 int64 browser_window_display_ticks;
42 int64 browser_open_tabs_time_delta;
43 // TODO(msw): Rename to avoid "web contents"?
44 int64 first_web_contents_main_frame_load_ticks;
45 // TODO(msw): Rename to match "FirstWebContents.NonEmptyPaint" metric?
46 int64 first_visually_non_empty_layout_ticks;
47 };
48
49 // This interface accepts startup performance timing from a variety of sources.
50 interface StartupPerformanceDataCollector {
51 // These setters may be called many times, only the first time is recorded.
52 SetServiceManagerProcessCreationTime(int64 time);
53 SetServiceManagerMainEntryPointTime(int64 time);
54 SetBrowserMessageLoopStartTicks(int64 ticks);
55 SetBrowserWindowDisplayTicks(int64 ticks);
56 SetBrowserOpenTabsTimeDelta(int64 delta);
57 SetFirstWebContentsMainFrameLoadTicks(int64 ticks);
58 SetFirstVisuallyNonEmptyLayoutTicks(int64 ticks);
59
60 // Get the currently available startup performance times.
61 GetStartupPerformanceTimes() => (StartupPerformanceTimes times);
62 };
63
64 interface Factory {
65 CreateRecorder(Provider provider);
66 };
OLDNEW
« no previous file with comments | « services/tracing/public/interfaces/constants.mojom ('k') | services/tracing/recorder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698