blob: 996bef58d10ad955bb6591593ca7b82b04d7ebd3 [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;
// Next tag: 8
message Aggregate {
// The id of the Source this Event is associated with. If this is zero
// then it's an aggregate across all sources.
optional int64 source_id = 1;
// Type of the Event. This is a hash of the name (as a string).
optional fixed64 event_hash = 2;
// The total number of times this source/event was observed.
optional uint64 total_count = 3;
// The total number of times this source/event was dropped due to limits.
optional uint64 dropped_due_to_limits = 4;
// The total number of times this source/event was dropped due to sampling.
optional uint64 dropped_due_to_sampling = 5;
// The total number of times this source/event was dropped due to whitelist.
optional uint64 dropped_due_to_whitelist = 7;
// For each Event, we have a list of possible metrics included. Metric names
// cannot be repeated. There is no guarentee that all metrics that are
// possible for a given event will be included in a single Aggregate.
message Metric {
// The hash of the metric's name.
optional fixed64 metric_hash = 1;
// The sum of all the values seen for this metric.
optional double value_sum = 2;
// The sum of all the squared-values seen for this metric.
optional double value_square_sum = 3;
// Overrides of values given above if different for this specific metric.
optional uint64 total_count = 4;
optional uint64 dropped_due_to_limits = 5;
optional uint64 dropped_due_to_sampling = 6;
optional uint64 dropped_due_to_whitelist = 7;
}
repeated Metric metrics = 6;
}