Home | History | Annotate | Download | only in proto
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 //
      5 // Histogram-collected metrics.
      6 
      7 syntax = "proto2";
      8 
      9 option optimize_for = LITE_RUNTIME;
     10 
     11 package metrics;
     12 
     13 // Next tag: 4
     14 message HistogramEventProto {
     15   // The name of the histogram, hashed.
     16   optional fixed64 name_hash = 1;
     17 
     18   // The sum of all the sample values.
     19   // Together with the total count of the sample values, this allows us to
     20   // compute the average value.  The count of all sample values is just the sum
     21   // of the counts of all the buckets.
     22   optional int64 sum = 2;
     23 
     24   // The per-bucket data.
     25   message Bucket {
     26     // Each bucket's range is bounded by min <= x < max.
     27     // We expect min and max (as well all other fields in this file) to always
     28     // be set.  They're marked as optional because that is considered to be good
     29     // practice in protocol buffer design, for the sake of
     30     // forward-compatibility.
     31     optional int64 min = 1;
     32     optional int64 max = 2;
     33 
     34     // The bucket's index in the list of buckets, sorted in ascending order.
     35     // Historically, we've had trouble with corruption of the min or the max,
     36     // most commonly in the client.  The bucket index gives us some redundancy,
     37     // which allows the processing code to "vote" on what the correct range
     38     // should be for each bucket.  This in turn allows us to better identify and
     39     // discard corrupted reports.
     40     optional int32 bucket_index = 3;
     41 
     42     // The number of entries in this bucket.
     43     optional int64 count = 4;
     44   }
     45   repeated Bucket bucket = 3;
     46 }
     47