github.com/google/cloudprober@v0.11.3/metrics/proto/dist.proto (about) 1 syntax = "proto2"; 2 3 package cloudprober.metrics; 4 5 option go_package = "github.com/google/cloudprober/metrics/proto"; 6 7 // Dist defines a Distribution data type. 8 message Dist { 9 oneof buckets { 10 // Comma-separated list of lower bounds, where each lower bound is a float 11 // value. Example: 0.5,1,2,4,8. 12 string explicit_buckets = 1; 13 14 // Exponentially growing buckets 15 ExponentialBuckets exponential_buckets = 2; 16 } 17 } 18 19 // ExponentialBucket defines a set of num_buckets+2 buckets: 20 // bucket[0] covers (−Inf, 0) 21 // bucket[1] covers [0, scale_factor) 22 // bucket[2] covers [scale_factor, scale_factor*base) 23 // ... 24 // bucket[i] covers [scale_factor*base^(i−2), scale_factor*base^(i−1)) 25 // ... 26 // bucket[num_buckets+1] covers [scale_factor*base^(num_buckets−1), +Inf) 27 // NB: Base must be at least 1.01. 28 message ExponentialBuckets { 29 optional float scale_factor = 1 [default = 1.0]; 30 optional float base = 2 [default = 2]; 31 optional uint32 num_buckets = 3 [default = 20]; 32 }