OLD | NEW |
(Empty) | |
| 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 } |
OLD | NEW |