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