1// Copyright 2014 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 7syntax = "proto2"; 8 9option optimize_for = LITE_RUNTIME; 10 11package metrics; 12 13// Next tag: 4 14message 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 // It is valid to omit one of these two fields in a bucket, but not both. 28 // If the min field is omitted, its value is assumed to be equal to max - 1. 29 // If the max field is omitted, its value is assumed to be equal to the next 30 // bucket's min value (possibly computed per above). The last bucket in a 31 // histogram should always include the max field. 32 optional int64 min = 1; 33 optional int64 max = 2; 34 35 // The bucket's index in the list of buckets, sorted in ascending order. 36 // This field was intended to provide extra redundancy to detect corrupted 37 // records, but was never used. As of M31, it is no longer sent by Chrome 38 // clients to reduce the UMA upload size. 39 optional int32 bucket_index = 3 [deprecated = true]; 40 41 // The number of entries in this bucket. 42 optional int64 count = 4; 43 } 44 repeated Bucket bucket = 3; 45} 46