| // 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; |
| |
| import "ukm/aggregate.proto"; |
| import "ukm/entry.proto"; |
| import "ukm/source.proto"; |
| import "system_profile.proto"; |
| |
| // This is the message type sent from Chrome to the UKM collector. |
| // Next tag: 11 |
| message Report { |
| // A unique identifier for a Chrome install. This ID should be used only |
| // in UKM reports, and not linked to any other data sources. |
| optional fixed64 client_id = 1; |
| |
| // The session id for this record. This id is unique within a |
| // particular Chrome session. The client keeps track of the session id |
| // and sends it with each record. The session id is simply an integer |
| // that is incremented each time the user relaunches Chrome. |
| optional int32 session_id = 5; |
| |
| // The report id for this record. Report ids increase sequentially from |
| // one within a session. |
| optional int32 report_id = 6; |
| |
| // Indicates that recording was continously enabled for the period of time |
| // captured in this report. |
| optional bool is_continuous = 8; |
| |
| enum LogRotationReason { |
| UNKNOWN = 0; |
| SCHEDULED_ROTATION = 1; |
| BACKGROUNDED = 2; |
| SHUTDOWN = 3; |
| } |
| optional LogRotationReason log_rotation_reason = 9; |
| |
| // Information about the user's browser and system configuration. |
| optional metrics.SystemProfileProto system_profile = 2; |
| |
| // A list of the top-level navigations that data was collected for. |
| repeated Source sources = 3; |
| |
| // Counts of different types of sources in this interval, including sources |
| // which may not be in the report due to dropping or deferral. |
| message SourceCounts { |
| // Number of unique sources that URLs were observed for. This counts |
| // includes sources which were dropped or deferred, but not sources |
| // carried over from a previous interval. |
| optional int32 observed = 1; |
| // Number of navigation sources that URLs were observed for, including |
| // sources dropped due to limits. |
| optional int32 navigation_sources = 2; |
| // Number of sources discarded due to not matching a navigation URL. |
| optional int32 unmatched_sources = 3; |
| // Number of sources deferred from a previous interval. |
| optional int32 carryover_sources = 4; |
| // Number of sources deferred to the next interval due to lack of events. |
| optional int32 deferred_sources = 5; |
| } |
| optional SourceCounts source_counts = 10; |
| |
| // List of Entries containing the main UKM data. |
| repeated Entry entries = 4; |
| |
| // List of Entries containing aggregated UKM data. |
| repeated Aggregate aggregates = 7; |
| } |