Class: Google::Api::Distribution::BucketOptions

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/api/distribution.rb

Overview

BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.

A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.

Defined Under Namespace

Classes: Explicit, Exponential, Linear

Instance Attribute Summary collapse

Instance Attribute Details

#explicit_buckets::Google::Api::Distribution::BucketOptions::Explicit

Returns The explicit buckets.

Returns:



124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'proto_docs/google/api/distribution.rb', line 124

class BucketOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies a linear sequence of buckets that all have the same width
  # (except overflow and underflow). Each bucket represents a constant
  # absolute uncertainty on the specific value in the bucket.
  #
  # There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
  # following boundaries:
  #
  #    Upper bound (0 <= i < N-1):     offset + (width * i).
  #
  #    Lower bound (1 <= i < N):       offset + (width * (i - 1)).
  # @!attribute [rw] num_finite_buckets
  #   @return [::Integer]
  #     Must be greater than 0.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Must be greater than 0.
  # @!attribute [rw] offset
  #   @return [::Float]
  #     Lower bound of the first bucket.
  class Linear
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an exponential sequence of buckets that have a width that is
  # proportional to the value of the lower bound. Each bucket represents a
  # constant relative uncertainty on a specific value in the bucket.
  #
  # There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
  # following boundaries:
  #
  #    Upper bound (0 <= i < N-1):     scale * (growth_factor ^ i).
  #
  #    Lower bound (1 <= i < N):       scale * (growth_factor ^ (i - 1)).
  # @!attribute [rw] num_finite_buckets
  #   @return [::Integer]
  #     Must be greater than 0.
  # @!attribute [rw] growth_factor
  #   @return [::Float]
  #     Must be greater than 1.
  # @!attribute [rw] scale
  #   @return [::Float]
  #     Must be greater than 0.
  class Exponential
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies a set of buckets with arbitrary widths.
  #
  # There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following
  # boundaries:
  #
  #    Upper bound (0 <= i < N-1):     bounds[i]
  #    Lower bound (1 <= i < N);       bounds[i - 1]
  #
  # The `bounds` field must contain at least one element. If `bounds` has
  # only one element, then there are no finite buckets, and that single
  # element is the common boundary of the overflow and underflow buckets.
  # @!attribute [rw] bounds
  #   @return [::Array<::Float>]
  #     The values must be monotonically increasing.
  class Explicit
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#exponential_buckets::Google::Api::Distribution::BucketOptions::Exponential

Returns The exponential buckets.

Returns:



124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'proto_docs/google/api/distribution.rb', line 124

class BucketOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies a linear sequence of buckets that all have the same width
  # (except overflow and underflow). Each bucket represents a constant
  # absolute uncertainty on the specific value in the bucket.
  #
  # There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
  # following boundaries:
  #
  #    Upper bound (0 <= i < N-1):     offset + (width * i).
  #
  #    Lower bound (1 <= i < N):       offset + (width * (i - 1)).
  # @!attribute [rw] num_finite_buckets
  #   @return [::Integer]
  #     Must be greater than 0.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Must be greater than 0.
  # @!attribute [rw] offset
  #   @return [::Float]
  #     Lower bound of the first bucket.
  class Linear
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an exponential sequence of buckets that have a width that is
  # proportional to the value of the lower bound. Each bucket represents a
  # constant relative uncertainty on a specific value in the bucket.
  #
  # There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
  # following boundaries:
  #
  #    Upper bound (0 <= i < N-1):     scale * (growth_factor ^ i).
  #
  #    Lower bound (1 <= i < N):       scale * (growth_factor ^ (i - 1)).
  # @!attribute [rw] num_finite_buckets
  #   @return [::Integer]
  #     Must be greater than 0.
  # @!attribute [rw] growth_factor
  #   @return [::Float]
  #     Must be greater than 1.
  # @!attribute [rw] scale
  #   @return [::Float]
  #     Must be greater than 0.
  class Exponential
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies a set of buckets with arbitrary widths.
  #
  # There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following
  # boundaries:
  #
  #    Upper bound (0 <= i < N-1):     bounds[i]
  #    Lower bound (1 <= i < N);       bounds[i - 1]
  #
  # The `bounds` field must contain at least one element. If `bounds` has
  # only one element, then there are no finite buckets, and that single
  # element is the common boundary of the overflow and underflow buckets.
  # @!attribute [rw] bounds
  #   @return [::Array<::Float>]
  #     The values must be monotonically increasing.
  class Explicit
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#linear_buckets::Google::Api::Distribution::BucketOptions::Linear

Returns The linear bucket.

Returns:



124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'proto_docs/google/api/distribution.rb', line 124

class BucketOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies a linear sequence of buckets that all have the same width
  # (except overflow and underflow). Each bucket represents a constant
  # absolute uncertainty on the specific value in the bucket.
  #
  # There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
  # following boundaries:
  #
  #    Upper bound (0 <= i < N-1):     offset + (width * i).
  #
  #    Lower bound (1 <= i < N):       offset + (width * (i - 1)).
  # @!attribute [rw] num_finite_buckets
  #   @return [::Integer]
  #     Must be greater than 0.
  # @!attribute [rw] width
  #   @return [::Float]
  #     Must be greater than 0.
  # @!attribute [rw] offset
  #   @return [::Float]
  #     Lower bound of the first bucket.
  class Linear
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an exponential sequence of buckets that have a width that is
  # proportional to the value of the lower bound. Each bucket represents a
  # constant relative uncertainty on a specific value in the bucket.
  #
  # There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
  # following boundaries:
  #
  #    Upper bound (0 <= i < N-1):     scale * (growth_factor ^ i).
  #
  #    Lower bound (1 <= i < N):       scale * (growth_factor ^ (i - 1)).
  # @!attribute [rw] num_finite_buckets
  #   @return [::Integer]
  #     Must be greater than 0.
  # @!attribute [rw] growth_factor
  #   @return [::Float]
  #     Must be greater than 1.
  # @!attribute [rw] scale
  #   @return [::Float]
  #     Must be greater than 0.
  class Exponential
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies a set of buckets with arbitrary widths.
  #
  # There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following
  # boundaries:
  #
  #    Upper bound (0 <= i < N-1):     bounds[i]
  #    Lower bound (1 <= i < N);       bounds[i - 1]
  #
  # The `bounds` field must contain at least one element. If `bounds` has
  # only one element, then there are no finite buckets, and that single
  # element is the common boundary of the overflow and underflow buckets.
  # @!attribute [rw] bounds
  #   @return [::Array<::Float>]
  #     The values must be monotonically increasing.
  class Explicit
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end