OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 syntax = "proto2"; | 5 syntax = "proto2"; |
6 | 6 |
7 package ukm; | 7 package ukm; |
8 | 8 |
9 option optimize_for = LITE_RUNTIME; | 9 option optimize_for = LITE_RUNTIME; |
10 | 10 |
11 // Source contains data related to a top-level navigation. | 11 // Source contains data related to a top-level navigation. |
12 // Next tag: 5 | 12 // Next tag: 5 |
13 message Source { | 13 message Source { |
14 // A identifier for the source. This should be unique even across sessions. | 14 // A identifier for the source. This should be unique even across sessions. |
15 optional int32 id = 1; | 15 optional int32 id = 1; |
16 | 16 |
17 // The url of the source, as recorded in history. If this URL has not been | 17 // The url of the source, as recorded in history. If this URL has not been |
18 // discovered by Google's crawler, it must be stripped to the security origin | 18 // discovered by Google's crawler, it must be stripped to the security origin |
19 // before recording to logs. If the security origin has not been discovered | 19 // before recording to logs. If the security origin has not been discovered |
20 // by the crawler, the security origin must not be logged. | 20 // by the crawler, the security origin must not be logged. |
21 optional string url = 2; | 21 optional string url = 2; |
22 | 22 |
23 // Timestamp of navigation to this Source, as seen by the client. Time of | 23 // Timestamp of navigation to this Source, as seen by the client. Time of |
24 // events related to this Source will generally be relative to this timestamp. | 24 // events related to this Source will generally be relative to this timestamp. |
25 optional int64 navigation_time_msec = 3; | 25 optional int64 navigation_time_msec = 3; |
26 | 26 |
27 // Time between navigation and the first contentful paint, in milliseconds. | 27 // Time between navigation and the first contentful paint, in |
| 28 // milliseconds. Will be unset if the page load did not reach first contentful |
| 29 // paint. |
28 optional int64 first_contentful_paint_msec = 4; | 30 optional int64 first_contentful_paint_msec = 4; |
| 31 |
| 32 // Time between navigation and the first meaningful paint, in |
| 33 // milliseconds. Will be unset if the page load did not reach first meaningful |
| 34 // paint. |
| 35 optional int64 experimental_first_meaningful_paint_msec = 5; |
| 36 |
| 37 // Time between navigation and the start of parsing, in milliseconds. Will be |
| 38 // unset if the page load did not reach parse start. |
| 39 optional int64 parse_start_msec = 6; |
| 40 |
| 41 // Total time spent on the page, from navigation start to the end of the |
| 42 // page's lifetime. The page lifetime ends when the first of the following |
| 43 // events happens: |
| 44 // * the load of the main resource fails |
| 45 // * the page load is stopped |
| 46 // * the tab hosting the page is closed |
| 47 // * the render process hosting the page goes away |
| 48 // * a new navigation which later commits is initiated in the same tab |
| 49 // * the page is backgrounded |
| 50 optional int64 total_time_msec = 7; |
29 } | 51 } |
OLD | NEW |