98 lines
3.9 KiB
Protocol Buffer
98 lines
3.9 KiB
Protocol Buffer
// Copyright 2017 The Chromium Authors
|
|
// 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;
|
|
option java_package = "org.chromium.components.metrics";
|
|
|
|
package ukm;
|
|
|
|
import "ukm/aggregate.proto";
|
|
import "ukm/entry.proto";
|
|
import "ukm/source.proto";
|
|
import "chrome_user_metrics_extension.proto";
|
|
import "system_profile.proto";
|
|
import "user_demographics.proto";
|
|
|
|
// This is the message type sent from Chrome to the UKM collector.
|
|
// Next tag: 13
|
|
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 product corresponding to this log. Note: The default value is Chrome,
|
|
// so Chrome products will not transmit this field.
|
|
optional metrics.ChromeUserMetricsExtension.Product product = 12
|
|
[default = CHROME];
|
|
|
|
// 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 continuously 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;
|
|
|
|
// The user's demographic information that consists of their noised birth year
|
|
// and gender. This data is made available to Chrome via syncable priority
|
|
// pref, so is only available if the user is signed-in and syncing.
|
|
optional metrics.UserDemographicsProto user_demographics = 11;
|
|
|
|
// 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. Sources corresponding to
|
|
// opened tabs that could emit more events in the future are kept in memory
|
|
// and deferred to the next interval for inclusion in next reports, up to a
|
|
// max limit on number of sources.
|
|
optional int32 deferred_sources = 5;
|
|
// Number of sources deferred to the next interval due to lack of events.
|
|
optional int32 entryless_sources = 6;
|
|
// Time elapsed in seconds from the moment the newest truncated source was
|
|
// created to the moment it was discarded from memory, if pruning happened
|
|
// due to number of sources exceeding the max threshold.
|
|
optional int32 pruned_sources_age_seconds = 7;
|
|
}
|
|
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;
|
|
}
|