google-cloud-monitoring-dashboard-v1 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,320 +22,368 @@ module Google
22
22
  module Monitoring
23
23
  module Dashboard
24
24
  module V1
25
- # Describes how to combine multiple time series to provide different views of
26
- # the data. Aggregation consists of an alignment step on individual time
27
- # series (`alignment_period` and `per_series_aligner`) followed by an optional
28
- # reduction step of the data across the aligned time series
29
- # (`cross_series_reducer` and `group_by_fields`). For more details, see
30
- # [Aggregation](https://cloud.google.com/monitoring/api/learn_more#aggregation).
25
+ # Describes how to combine multiple time series to provide a different view of
26
+ # the data. Aggregation of time series is done in two steps. First, each time
27
+ # series in the set is _aligned_ to the same time interval boundaries, then the
28
+ # set of time series is optionally _reduced_ in number.
29
+ #
30
+ # Alignment consists of applying the `per_series_aligner` operation
31
+ # to each time series after its data has been divided into regular
32
+ # `alignment_period` time intervals. This process takes _all_ of the data
33
+ # points in an alignment period, applies a mathematical transformation such as
34
+ # averaging, minimum, maximum, delta, etc., and converts them into a single
35
+ # data point per period.
36
+ #
37
+ # Reduction is when the aligned and transformed time series can optionally be
38
+ # combined, reducing the number of time series through similar mathematical
39
+ # transformations. Reduction involves applying a `cross_series_reducer` to
40
+ # all the time series, optionally sorting the time series into subsets with
41
+ # `group_by_fields`, and applying the reducer to each subset.
42
+ #
43
+ # The raw time series data can contain a huge amount of information from
44
+ # multiple sources. Alignment and reduction transforms this mass of data into
45
+ # a more manageable and representative collection of data, for example "the
46
+ # 95% latency across the average of all tasks in a cluster". This
47
+ # representative data can be more easily graphed and comprehended, and the
48
+ # individual time series data is still available for later drilldown. For more
49
+ # details, see [Filtering and
50
+ # aggregation](https://cloud.google.com/monitoring/api/v3/aggregation).
31
51
  # @!attribute [rw] alignment_period
32
52
  # @return [::Google::Protobuf::Duration]
33
- # The alignment period for per-[time series][TimeSeries]
34
- # alignment. If present, `alignmentPeriod` must be at least 60
35
- # seconds. After per-time series alignment, each time series will
36
- # contain data points only on the period boundaries. If
37
- # `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then
38
- # this field is ignored. If `perSeriesAligner` is specified and
39
- # does not equal `ALIGN_NONE`, then this field must be defined;
40
- # otherwise an error is returned.
53
+ # The `alignment_period` specifies a time interval, in seconds, that is used
54
+ # to divide the data in all the
55
+ # [time series][google.monitoring.v3.TimeSeries] into consistent blocks of
56
+ # time. This will be done before the per-series aligner can be applied to
57
+ # the data.
58
+ #
59
+ # The value must be at least 60 seconds. If a per-series aligner other than
60
+ # `ALIGN_NONE` is specified, this field is required or an error is returned.
61
+ # If no per-series aligner is specified, or the aligner `ALIGN_NONE` is
62
+ # specified, then this field is ignored.
41
63
  # @!attribute [rw] per_series_aligner
42
64
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::Aggregation::Aligner]
43
- # The approach to be used to align individual time series. Not all
44
- # alignment functions may be applied to all time series, depending
45
- # on the metric type and value type of the original time
46
- # series. Alignment may change the metric type or the value type of
65
+ # An `Aligner` describes how to bring the data points in a single
66
+ # time series into temporal alignment. Except for `ALIGN_NONE`, all
67
+ # alignments cause all the data points in an `alignment_period` to be
68
+ # mathematically grouped together, resulting in a single data point for
69
+ # each `alignment_period` with end timestamp at the end of the period.
70
+ #
71
+ # Not all alignment operations may be applied to all time series. The valid
72
+ # choices depend on the `metric_kind` and `value_type` of the original time
73
+ # series. Alignment can change the `metric_kind` or the `value_type` of
47
74
  # the time series.
48
75
  #
49
76
  # Time series data must be aligned in order to perform cross-time
50
- # series reduction. If `crossSeriesReducer` is specified, then
51
- # `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
52
- # and `alignmentPeriod` must be specified; otherwise, an error is
77
+ # series reduction. If `cross_series_reducer` is specified, then
78
+ # `per_series_aligner` must be specified and not equal to `ALIGN_NONE`
79
+ # and `alignment_period` must be specified; otherwise, an error is
53
80
  # returned.
54
81
  # @!attribute [rw] cross_series_reducer
55
82
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::Aggregation::Reducer]
56
- # The approach to be used to combine time series. Not all reducer
57
- # functions may be applied to all time series, depending on the
58
- # metric type and the value type of the original time
59
- # series. Reduction may change the metric type of value type of the
60
- # time series.
83
+ # The reduction operation to be used to combine time series into a single
84
+ # time series, where the value of each data point in the resulting series is
85
+ # a function of all the already aligned values in the input time series.
61
86
  #
62
- # Time series data must be aligned in order to perform cross-time
63
- # series reduction. If `crossSeriesReducer` is specified, then
64
- # `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
65
- # and `alignmentPeriod` must be specified; otherwise, an error is
66
- # returned.
87
+ # Not all reducer operations can be applied to all time series. The valid
88
+ # choices depend on the `metric_kind` and the `value_type` of the original
89
+ # time series. Reduction can yield a time series with a different
90
+ # `metric_kind` or `value_type` than the input time series.
91
+ #
92
+ # Time series data must first be aligned (see `per_series_aligner`) in order
93
+ # to perform cross-time series reduction. If `cross_series_reducer` is
94
+ # specified, then `per_series_aligner` must be specified, and must not be
95
+ # `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an
96
+ # error is returned.
67
97
  # @!attribute [rw] group_by_fields
68
98
  # @return [::Array<::String>]
69
- # The set of fields to preserve when `crossSeriesReducer` is
70
- # specified. The `groupByFields` determine how the time series are
99
+ # The set of fields to preserve when `cross_series_reducer` is
100
+ # specified. The `group_by_fields` determine how the time series are
71
101
  # partitioned into subsets prior to applying the aggregation
72
- # function. Each subset contains time series that have the same
102
+ # operation. Each subset contains time series that have the same
73
103
  # value for each of the grouping fields. Each individual time
74
104
  # series is a member of exactly one subset. The
75
- # `crossSeriesReducer` is applied to each subset of time series.
105
+ # `cross_series_reducer` is applied to each subset of time series.
76
106
  # It is not possible to reduce across different resource types, so
77
107
  # this field implicitly contains `resource.type`. Fields not
78
- # specified in `groupByFields` are aggregated away. If
79
- # `groupByFields` is not specified and all the time series have
108
+ # specified in `group_by_fields` are aggregated away. If
109
+ # `group_by_fields` is not specified and all the time series have
80
110
  # the same resource type, then the time series are aggregated into
81
- # a single output time series. If `crossSeriesReducer` is not
111
+ # a single output time series. If `cross_series_reducer` is not
82
112
  # defined, this field is ignored.
83
113
  class Aggregation
84
114
  include ::Google::Protobuf::MessageExts
85
115
  extend ::Google::Protobuf::MessageExts::ClassMethods
86
116
 
87
- # The Aligner describes how to bring the data points in a single
88
- # time series into temporal alignment.
117
+ # The `Aligner` specifies the operation that will be applied to the data
118
+ # points in each alignment period in a time series. Except for
119
+ # `ALIGN_NONE`, which specifies that no operation be applied, each alignment
120
+ # operation replaces the set of data values in each alignment period with
121
+ # a single value: the result of applying the operation to the data values.
122
+ # An aligned time series has a single data value at the end of each
123
+ # `alignment_period`.
124
+ #
125
+ # An alignment operation can change the data type of the values, too. For
126
+ # example, if you apply a counting operation to boolean values, the data
127
+ # `value_type` in the original time series is `BOOLEAN`, but the `value_type`
128
+ # in the aligned result is `INT64`.
89
129
  module Aligner
90
- # No alignment. Raw data is returned. Not valid if cross-time
91
- # series reduction is requested. The value type of the result is
92
- # the same as the value type of the input.
130
+ # No alignment. Raw data is returned. Not valid if cross-series reduction
131
+ # is requested. The `value_type` of the result is the same as the
132
+ # `value_type` of the input.
93
133
  ALIGN_NONE = 0
94
134
 
95
- # Align and convert to delta metric type. This alignment is valid
96
- # for cumulative metrics and delta metrics. Aligning an existing
97
- # delta metric to a delta metric requires that the alignment
98
- # period be increased. The value type of the result is the same
99
- # as the value type of the input.
135
+ # Align and convert to
136
+ # [DELTA][google.api.MetricDescriptor.MetricKind.DELTA].
137
+ # The output is `delta = y1 - y0`.
100
138
  #
101
- # One can think of this aligner as a rate but without time units; that
102
- # is, the output is conceptually (second_point - first_point).
139
+ # This alignment is valid for
140
+ # [CUMULATIVE][google.api.MetricDescriptor.MetricKind.CUMULATIVE] and
141
+ # `DELTA` metrics. If the selected alignment period results in periods
142
+ # with no data, then the aligned value for such a period is created by
143
+ # interpolation. The `value_type` of the aligned result is the same as
144
+ # the `value_type` of the input.
103
145
  ALIGN_DELTA = 1
104
146
 
105
- # Align and convert to a rate. This alignment is valid for
106
- # cumulative metrics and delta metrics with numeric values. The output is a
107
- # gauge metric with value type
108
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
147
+ # Align and convert to a rate. The result is computed as
148
+ # `rate = (y1 - y0)/(t1 - t0)`, or "delta over time".
149
+ # Think of this aligner as providing the slope of the line that passes
150
+ # through the value at the start and at the end of the `alignment_period`.
109
151
  #
110
- # One can think of this aligner as conceptually providing the slope of
111
- # the line that passes through the value at the start and end of the
112
- # window. In other words, this is conceptually ((y1 - y0)/(t1 - t0)),
113
- # and the output unit is one that has a "/time" dimension.
152
+ # This aligner is valid for `CUMULATIVE`
153
+ # and `DELTA` metrics with numeric values. If the selected alignment
154
+ # period results in periods with no data, then the aligned value for
155
+ # such a period is created by interpolation. The output is a `GAUGE`
156
+ # metric with `value_type` `DOUBLE`.
114
157
  #
115
- # If, by rate, you are looking for percentage change, see the
116
- # `ALIGN_PERCENT_CHANGE` aligner option.
158
+ # If, by "rate", you mean "percentage change", see the
159
+ # `ALIGN_PERCENT_CHANGE` aligner instead.
117
160
  ALIGN_RATE = 2
118
161
 
119
- # Align by interpolating between adjacent points around the
120
- # period boundary. This alignment is valid for gauge
121
- # metrics with numeric values. The value type of the result is the same
122
- # as the value type of the input.
162
+ # Align by interpolating between adjacent points around the alignment
163
+ # period boundary. This aligner is valid for `GAUGE` metrics with
164
+ # numeric values. The `value_type` of the aligned result is the same as the
165
+ # `value_type` of the input.
123
166
  ALIGN_INTERPOLATE = 3
124
167
 
125
- # Align by shifting the oldest data point before the period
126
- # boundary to the boundary. This alignment is valid for gauge
127
- # metrics. The value type of the result is the same as the
128
- # value type of the input.
168
+ # Align by moving the most recent data point before the end of the
169
+ # alignment period to the boundary at the end of the alignment
170
+ # period. This aligner is valid for `GAUGE` metrics. The `value_type` of
171
+ # the aligned result is the same as the `value_type` of the input.
129
172
  ALIGN_NEXT_OLDER = 4
130
173
 
131
- # Align time series via aggregation. The resulting data point in
132
- # the alignment period is the minimum of all data points in the
133
- # period. This alignment is valid for gauge and delta metrics with numeric
134
- # values. The value type of the result is the same as the value
135
- # type of the input.
174
+ # Align the time series by returning the minimum value in each alignment
175
+ # period. This aligner is valid for `GAUGE` and `DELTA` metrics with
176
+ # numeric values. The `value_type` of the aligned result is the same as
177
+ # the `value_type` of the input.
136
178
  ALIGN_MIN = 10
137
179
 
138
- # Align time series via aggregation. The resulting data point in
139
- # the alignment period is the maximum of all data points in the
140
- # period. This alignment is valid for gauge and delta metrics with numeric
141
- # values. The value type of the result is the same as the value
142
- # type of the input.
180
+ # Align the time series by returning the maximum value in each alignment
181
+ # period. This aligner is valid for `GAUGE` and `DELTA` metrics with
182
+ # numeric values. The `value_type` of the aligned result is the same as
183
+ # the `value_type` of the input.
143
184
  ALIGN_MAX = 11
144
185
 
145
- # Align time series via aggregation. The resulting data point in
146
- # the alignment period is the average or arithmetic mean of all
147
- # data points in the period. This alignment is valid for gauge and delta
148
- # metrics with numeric values. The value type of the output is
149
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
186
+ # Align the time series by returning the mean value in each alignment
187
+ # period. This aligner is valid for `GAUGE` and `DELTA` metrics with
188
+ # numeric values. The `value_type` of the aligned result is `DOUBLE`.
150
189
  ALIGN_MEAN = 12
151
190
 
152
- # Align time series via aggregation. The resulting data point in
153
- # the alignment period is the count of all data points in the
154
- # period. This alignment is valid for gauge and delta metrics with numeric
155
- # or Boolean values. The value type of the output is
156
- # [INT64][google.api.MetricDescriptor.ValueType.INT64].
191
+ # Align the time series by returning the number of values in each alignment
192
+ # period. This aligner is valid for `GAUGE` and `DELTA` metrics with
193
+ # numeric or Boolean values. The `value_type` of the aligned result is
194
+ # `INT64`.
157
195
  ALIGN_COUNT = 13
158
196
 
159
- # Align time series via aggregation. The resulting data point in
160
- # the alignment period is the sum of all data points in the
161
- # period. This alignment is valid for gauge and delta metrics with numeric
162
- # and distribution values. The value type of the output is the
163
- # same as the value type of the input.
197
+ # Align the time series by returning the sum of the values in each
198
+ # alignment period. This aligner is valid for `GAUGE` and `DELTA`
199
+ # metrics with numeric and distribution values. The `value_type` of the
200
+ # aligned result is the same as the `value_type` of the input.
164
201
  ALIGN_SUM = 14
165
202
 
166
- # Align time series via aggregation. The resulting data point in
167
- # the alignment period is the standard deviation of all data
168
- # points in the period. This alignment is valid for gauge and delta metrics
169
- # with numeric values. The value type of the output is
170
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
203
+ # Align the time series by returning the standard deviation of the values
204
+ # in each alignment period. This aligner is valid for `GAUGE` and
205
+ # `DELTA` metrics with numeric values. The `value_type` of the output is
206
+ # `DOUBLE`.
171
207
  ALIGN_STDDEV = 15
172
208
 
173
- # Align time series via aggregation. The resulting data point in
174
- # the alignment period is the count of True-valued data points in the
175
- # period. This alignment is valid for gauge metrics with
176
- # Boolean values. The value type of the output is
177
- # [INT64][google.api.MetricDescriptor.ValueType.INT64].
209
+ # Align the time series by returning the number of `True` values in
210
+ # each alignment period. This aligner is valid for `GAUGE` metrics with
211
+ # Boolean values. The `value_type` of the output is `INT64`.
178
212
  ALIGN_COUNT_TRUE = 16
179
213
 
180
- # Align time series via aggregation. The resulting data point in
181
- # the alignment period is the count of False-valued data points in the
182
- # period. This alignment is valid for gauge metrics with
183
- # Boolean values. The value type of the output is
184
- # [INT64][google.api.MetricDescriptor.ValueType.INT64].
214
+ # Align the time series by returning the number of `False` values in
215
+ # each alignment period. This aligner is valid for `GAUGE` metrics with
216
+ # Boolean values. The `value_type` of the output is `INT64`.
185
217
  ALIGN_COUNT_FALSE = 24
186
218
 
187
- # Align time series via aggregation. The resulting data point in
188
- # the alignment period is the fraction of True-valued data points in the
189
- # period. This alignment is valid for gauge metrics with Boolean values.
190
- # The output value is in the range [0, 1] and has value type
191
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
219
+ # Align the time series by returning the ratio of the number of `True`
220
+ # values to the total number of values in each alignment period. This
221
+ # aligner is valid for `GAUGE` metrics with Boolean values. The output
222
+ # value is in the range [0.0, 1.0] and has `value_type` `DOUBLE`.
192
223
  ALIGN_FRACTION_TRUE = 17
193
224
 
194
- # Align time series via aggregation. The resulting data point in
195
- # the alignment period is the 99th percentile of all data
196
- # points in the period. This alignment is valid for gauge and delta metrics
197
- # with distribution values. The output is a gauge metric with value type
198
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
225
+ # Align the time series by using [percentile
226
+ # aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
227
+ # data point in each alignment period is the 99th percentile of all data
228
+ # points in the period. This aligner is valid for `GAUGE` and `DELTA`
229
+ # metrics with distribution values. The output is a `GAUGE` metric with
230
+ # `value_type` `DOUBLE`.
199
231
  ALIGN_PERCENTILE_99 = 18
200
232
 
201
- # Align time series via aggregation. The resulting data point in
202
- # the alignment period is the 95th percentile of all data
203
- # points in the period. This alignment is valid for gauge and delta metrics
204
- # with distribution values. The output is a gauge metric with value type
205
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
233
+ # Align the time series by using [percentile
234
+ # aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
235
+ # data point in each alignment period is the 95th percentile of all data
236
+ # points in the period. This aligner is valid for `GAUGE` and `DELTA`
237
+ # metrics with distribution values. The output is a `GAUGE` metric with
238
+ # `value_type` `DOUBLE`.
206
239
  ALIGN_PERCENTILE_95 = 19
207
240
 
208
- # Align time series via aggregation. The resulting data point in
209
- # the alignment period is the 50th percentile of all data
210
- # points in the period. This alignment is valid for gauge and delta metrics
211
- # with distribution values. The output is a gauge metric with value type
212
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
241
+ # Align the time series by using [percentile
242
+ # aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
243
+ # data point in each alignment period is the 50th percentile of all data
244
+ # points in the period. This aligner is valid for `GAUGE` and `DELTA`
245
+ # metrics with distribution values. The output is a `GAUGE` metric with
246
+ # `value_type` `DOUBLE`.
213
247
  ALIGN_PERCENTILE_50 = 20
214
248
 
215
- # Align time series via aggregation. The resulting data point in
216
- # the alignment period is the 5th percentile of all data
217
- # points in the period. This alignment is valid for gauge and delta metrics
218
- # with distribution values. The output is a gauge metric with value type
219
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
249
+ # Align the time series by using [percentile
250
+ # aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
251
+ # data point in each alignment period is the 5th percentile of all data
252
+ # points in the period. This aligner is valid for `GAUGE` and `DELTA`
253
+ # metrics with distribution values. The output is a `GAUGE` metric with
254
+ # `value_type` `DOUBLE`.
220
255
  ALIGN_PERCENTILE_05 = 21
221
256
 
222
- # Align and convert to a percentage change. This alignment is valid for
223
- # gauge and delta metrics with numeric values. This alignment conceptually
224
- # computes the equivalent of "((current - previous)/previous)*100"
225
- # where previous value is determined based on the alignmentPeriod.
226
- # In the event that previous is 0 the calculated value is infinity with the
227
- # exception that if both (current - previous) and previous are 0 the
228
- # calculated value is 0.
229
- # A 10 minute moving mean is computed at each point of the time window
257
+ # Align and convert to a percentage change. This aligner is valid for
258
+ # `GAUGE` and `DELTA` metrics with numeric values. This alignment returns
259
+ # `((current - previous)/previous) * 100`, where the value of `previous` is
260
+ # determined based on the `alignment_period`.
261
+ #
262
+ # If the values of `current` and `previous` are both 0, then the returned
263
+ # value is 0. If only `previous` is 0, the returned value is infinity.
264
+ #
265
+ # A 10-minute moving mean is computed at each point of the alignment period
230
266
  # prior to the above calculation to smooth the metric and prevent false
231
- # positives from very short lived spikes.
232
- # Only applicable for data that is >= 0. Any values < 0 are treated as
233
- # no data. While delta metrics are accepted by this alignment special care
234
- # should be taken that the values for the metric will always be positive.
235
- # The output is a gauge metric with value type
236
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
267
+ # positives from very short-lived spikes. The moving mean is only
268
+ # applicable for data whose values are `>= 0`. Any values `< 0` are
269
+ # treated as a missing datapoint, and are ignored. While `DELTA`
270
+ # metrics are accepted by this alignment, special care should be taken that
271
+ # the values for the metric will always be positive. The output is a
272
+ # `GAUGE` metric with `value_type` `DOUBLE`.
237
273
  ALIGN_PERCENT_CHANGE = 23
238
274
  end
239
275
 
240
- # A Reducer describes how to aggregate data points from multiple
241
- # time series into a single time series.
276
+ # A Reducer operation describes how to aggregate data points from multiple
277
+ # time series into a single time series, where the value of each data point
278
+ # in the resulting series is a function of all the already aligned values in
279
+ # the input time series.
242
280
  module Reducer
243
- # No cross-time series reduction. The output of the aligner is
281
+ # No cross-time series reduction. The output of the `Aligner` is
244
282
  # returned.
245
283
  REDUCE_NONE = 0
246
284
 
247
- # Reduce by computing the mean across time series for each
248
- # alignment period. This reducer is valid for delta and
249
- # gauge metrics with numeric or distribution values. The value type of the
250
- # output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
285
+ # Reduce by computing the mean value across time series for each
286
+ # alignment period. This reducer is valid for
287
+ # [DELTA][google.api.MetricDescriptor.MetricKind.DELTA] and
288
+ # [GAUGE][google.api.MetricDescriptor.MetricKind.GAUGE] metrics with
289
+ # numeric or distribution values. The `value_type` of the output is
290
+ # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
251
291
  REDUCE_MEAN = 1
252
292
 
253
- # Reduce by computing the minimum across time series for each
254
- # alignment period. This reducer is valid for delta and
255
- # gauge metrics with numeric values. The value type of the output
256
- # is the same as the value type of the input.
293
+ # Reduce by computing the minimum value across time series for each
294
+ # alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
295
+ # with numeric values. The `value_type` of the output is the same as the
296
+ # `value_type` of the input.
257
297
  REDUCE_MIN = 2
258
298
 
259
- # Reduce by computing the maximum across time series for each
260
- # alignment period. This reducer is valid for delta and
261
- # gauge metrics with numeric values. The value type of the output
262
- # is the same as the value type of the input.
299
+ # Reduce by computing the maximum value across time series for each
300
+ # alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
301
+ # with numeric values. The `value_type` of the output is the same as the
302
+ # `value_type` of the input.
263
303
  REDUCE_MAX = 3
264
304
 
265
305
  # Reduce by computing the sum across time series for each
266
- # alignment period. This reducer is valid for delta and
267
- # gauge metrics with numeric and distribution values. The value type of
268
- # the output is the same as the value type of the input.
306
+ # alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
307
+ # with numeric and distribution values. The `value_type` of the output is
308
+ # the same as the `value_type` of the input.
269
309
  REDUCE_SUM = 4
270
310
 
271
311
  # Reduce by computing the standard deviation across time series
272
- # for each alignment period. This reducer is valid for delta
273
- # and gauge metrics with numeric or distribution values. The value type of
274
- # the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
312
+ # for each alignment period. This reducer is valid for `DELTA` and
313
+ # `GAUGE` metrics with numeric or distribution values. The `value_type`
314
+ # of the output is `DOUBLE`.
275
315
  REDUCE_STDDEV = 5
276
316
 
277
- # Reduce by computing the count of data points across time series
278
- # for each alignment period. This reducer is valid for delta
279
- # and gauge metrics of numeric, Boolean, distribution, and string value
280
- # type. The value type of the output is
281
- # [INT64][google.api.MetricDescriptor.ValueType.INT64].
317
+ # Reduce by computing the number of data points across time series
318
+ # for each alignment period. This reducer is valid for `DELTA` and
319
+ # `GAUGE` metrics of numeric, Boolean, distribution, and string
320
+ # `value_type`. The `value_type` of the output is `INT64`.
282
321
  REDUCE_COUNT = 6
283
322
 
284
- # Reduce by computing the count of True-valued data points across time
285
- # series for each alignment period. This reducer is valid for delta
286
- # and gauge metrics of Boolean value type. The value type of
287
- # the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
323
+ # Reduce by computing the number of `True`-valued data points across time
324
+ # series for each alignment period. This reducer is valid for `DELTA` and
325
+ # `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
326
+ # is `INT64`.
288
327
  REDUCE_COUNT_TRUE = 7
289
328
 
290
- # Reduce by computing the count of False-valued data points across time
291
- # series for each alignment period. This reducer is valid for delta
292
- # and gauge metrics of Boolean value type. The value type of
293
- # the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
329
+ # Reduce by computing the number of `False`-valued data points across time
330
+ # series for each alignment period. This reducer is valid for `DELTA` and
331
+ # `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
332
+ # is `INT64`.
294
333
  REDUCE_COUNT_FALSE = 15
295
334
 
296
- # Reduce by computing the fraction of True-valued data points across time
297
- # series for each alignment period. This reducer is valid for delta
298
- # and gauge metrics of Boolean value type. The output value is in the
299
- # range [0, 1] and has value type
300
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
335
+ # Reduce by computing the ratio of the number of `True`-valued data points
336
+ # to the total number of data points for each alignment period. This
337
+ # reducer is valid for `DELTA` and `GAUGE` metrics of Boolean `value_type`.
338
+ # The output value is in the range [0.0, 1.0] and has `value_type`
339
+ # `DOUBLE`.
301
340
  REDUCE_FRACTION_TRUE = 8
302
341
 
303
- # Reduce by computing 99th percentile of data points across time series
304
- # for each alignment period. This reducer is valid for gauge and delta
305
- # metrics of numeric and distribution type. The value of the output is
306
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
342
+ # Reduce by computing the [99th
343
+ # percentile](https://en.wikipedia.org/wiki/Percentile) of data points
344
+ # across time series for each alignment period. This reducer is valid for
345
+ # `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
346
+ # of the output is `DOUBLE`.
307
347
  REDUCE_PERCENTILE_99 = 9
308
348
 
309
- # Reduce by computing 95th percentile of data points across time series
310
- # for each alignment period. This reducer is valid for gauge and delta
311
- # metrics of numeric and distribution type. The value of the output is
312
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
349
+ # Reduce by computing the [95th
350
+ # percentile](https://en.wikipedia.org/wiki/Percentile) of data points
351
+ # across time series for each alignment period. This reducer is valid for
352
+ # `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
353
+ # of the output is `DOUBLE`.
313
354
  REDUCE_PERCENTILE_95 = 10
314
355
 
315
- # Reduce by computing 50th percentile of data points across time series
316
- # for each alignment period. This reducer is valid for gauge and delta
317
- # metrics of numeric and distribution type. The value of the output is
318
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
356
+ # Reduce by computing the [50th
357
+ # percentile](https://en.wikipedia.org/wiki/Percentile) of data points
358
+ # across time series for each alignment period. This reducer is valid for
359
+ # `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
360
+ # of the output is `DOUBLE`.
319
361
  REDUCE_PERCENTILE_50 = 11
320
362
 
321
- # Reduce by computing 5th percentile of data points across time series
322
- # for each alignment period. This reducer is valid for gauge and delta
323
- # metrics of numeric and distribution type. The value of the output is
324
- # [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
363
+ # Reduce by computing the [5th
364
+ # percentile](https://en.wikipedia.org/wiki/Percentile) of data points
365
+ # across time series for each alignment period. This reducer is valid for
366
+ # `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
367
+ # of the output is `DOUBLE`.
325
368
  REDUCE_PERCENTILE_05 = 12
326
369
  end
327
370
  end
328
371
 
329
372
  # Describes a ranking-based time series filter. Each input time series is
330
- # ranked with an aligner. The filter lets through up to `num_time_series` time
331
- # series, selecting them based on the relative ranking.
373
+ # ranked with an aligner. The filter will allow up to `num_time_series` time
374
+ # series to pass through it, selecting them based on the relative ranking.
375
+ #
376
+ # For example, if `ranking_method` is `METHOD_MEAN`,`direction` is `BOTTOM`,
377
+ # and `num_time_series` is 3, then the 3 times series with the lowest mean
378
+ # values will pass through the filter.
332
379
  # @!attribute [rw] ranking_method
333
380
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::PickTimeSeriesFilter::Method]
334
- # `rankingMethod` is applied to each time series independently to produce the
335
- # value which will be used to compare the time series to other time series.
381
+ # `ranking_method` is applied to each time series independently to produce
382
+ # the value which will be used to compare the time series to other time
383
+ # series.
336
384
  # @!attribute [rw] num_time_series
337
385
  # @return [::Integer]
338
- # How many time series to return.
386
+ # How many time series to allow to pass through the filter.
339
387
  # @!attribute [rw] direction
340
388
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::PickTimeSeriesFilter::Direction]
341
389
  # How to use the ranking to select time series that pass through the filter.
@@ -343,9 +391,10 @@ module Google
343
391
  include ::Google::Protobuf::MessageExts
344
392
  extend ::Google::Protobuf::MessageExts::ClassMethods
345
393
 
346
- # The value reducers that can be applied to a PickTimeSeriesFilter.
394
+ # The value reducers that can be applied to a `PickTimeSeriesFilter`.
347
395
  module Method
348
- # Not allowed in well-formed requests.
396
+ # Not allowed. You must specify a different `Method` if you specify a
397
+ # `PickTimeSeriesFilter`.
349
398
  METHOD_UNSPECIFIED = 0
350
399
 
351
400
  # Select the mean of all values.
@@ -366,19 +415,21 @@ module Google
366
415
 
367
416
  # Describes the ranking directions.
368
417
  module Direction
369
- # Not allowed in well-formed requests.
418
+ # Not allowed. You must specify a different `Direction` if you specify a
419
+ # `PickTimeSeriesFilter`.
370
420
  DIRECTION_UNSPECIFIED = 0
371
421
 
372
- # Pass the highest ranking inputs.
422
+ # Pass the highest `num_time_series` ranking inputs.
373
423
  TOP = 1
374
424
 
375
- # Pass the lowest ranking inputs.
425
+ # Pass the lowest `num_time_series` ranking inputs.
376
426
  BOTTOM = 2
377
427
  end
378
428
  end
379
429
 
380
430
  # A filter that ranks streams based on their statistical relation to other
381
431
  # streams in a request.
432
+ # Note: This field is deprecated and completely ignored by the API.
382
433
  # @!attribute [rw] ranking_method
383
434
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::StatisticalTimeSeriesFilter::Method]
384
435
  # `rankingMethod` is applied to a set of time series, and then the produced