// 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;
}
