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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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