blob: e673475edaa565b6a131b0b6110187ba5bf3c054 [file] [log] [blame]
// 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;
}