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  }