| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package ukm; |
| |
| // Source contains data related to a top-level navigation. |
| // Next tag: 13 |
| message Source { |
| // The URL scheme, such as HTTP, HTTPS, CHROME_EXTENSION, etc. |
| enum UrlScheme { |
| UNSUPPORTED = 0; |
| HTTP = 1; |
| HTTPS = 2; |
| FTP = 3; |
| ABOUT = 4; |
| CHROME = 5; |
| CHROME_EXTENSION = 6; |
| APP = 7; |
| }; |
| |
| // An identifier for the source. This should be unique within a session. |
| optional int64 id = 1; |
| |
| // The previous source id for the tab this source is in. Should only be set |
| // for navigation sources. |
| optional int64 previous_source_id = 11; |
| |
| // For sources representing the first navigation in a new tab, this id marks |
| // the source which opened the tab. Should only be set for the first |
| // navigation source in a tab. |
| optional int64 opener_source_id = 12; |
| |
| // Holds data about a URL seen by the client. |
| message UrlInfo { |
| // The URL seen by the client. |
| optional string url = 1; |
| |
| // Number of URLs seen for this source before the current URL. |
| // If unset, it’s equivalent to the count of the UrlInfo before it + 1, |
| // or 0 if it’s the first UrlInfo. |
| optional int32 previous_url_count = 2; |
| } |
| |
| // Data about each URL associated with the source_id within the record's |
| // scope, in the order that the URLs were encountered. Data may include full |
| // or partial redirect chains for main frame navigations. |
| repeated UrlInfo urls = 8; |
| |
| // The URL of the source, as recorded in history. If this URL has not been |
| // discovered by Google's crawler, it should not be recorded. |
| optional string url = 2; |
| |
| // The origin of the URL (ex. "http://docs.google.com" if the URL is something |
| // like "http://docs.google.com/some_doc_hash"). This field is populated |
| // server-side and should never be filled in by clients. |
| reserved 5; |
| reserved "url_origin"; |
| reserved 9; |
| reserved "url_scheme"; |
| |
| // The initial URL of the source. Set in cases where the source URL changed |
| // (e.g. it was redirected), otherwise unset. If this URL has not been |
| // discovered by Google's crawler, it should not be recorded. |
| optional string initial_url = 6; |
| |
| // Flag indicating if the metric was collected while inside a "custom tab". |
| optional bool is_custom_tab = 7; |
| |
| // Timestamp of navigation to this Source, as seen by the client. Time of |
| // events related to this Source will generally be relative to this timestamp. |
| optional int64 navigation_time_msec = 3; |
| |
| // Unique identifier (for a given client_id/session_id) for the tab this |
| // source is associated with. Should only be set for navigation sources. |
| optional int64 tab_id = 10; |
| |
| // Time between navigation and the first contentful paint, in milliseconds. |
| // Deprecated. Use ukm::Entry instead. |
| optional int64 first_contentful_paint_msec = 4 [deprecated = true]; |
| } |