google-cloud-monitoring 0.34.2 → 0.35.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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/monitoring/v3/alert_policy_service_client.rb +5 -5
  3. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/alert.rb +4 -0
  4. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/alert_service.rb +5 -5
  5. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/common.rb +253 -210
  6. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/group_service.rb +7 -7
  7. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/metric_service.rb +13 -13
  8. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/notification.rb +3 -0
  9. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/notification_service.rb +12 -12
  10. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/service_service.rb +13 -13
  11. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/uptime_service.rb +5 -5
  12. data/lib/google/cloud/monitoring/v3/group_service_client.rb +7 -7
  13. data/lib/google/cloud/monitoring/v3/metric_service_client.rb +13 -13
  14. data/lib/google/cloud/monitoring/v3/notification_channel_service_client.rb +12 -12
  15. data/lib/google/cloud/monitoring/v3/service_monitoring_service_client.rb +13 -13
  16. data/lib/google/cloud/monitoring/v3/uptime_check_service_client.rb +5 -5
  17. data/lib/google/cloud/monitoring/version.rb +1 -1
  18. data/lib/google/monitoring/v3/alert_pb.rb +1 -0
  19. data/lib/google/monitoring/v3/alert_service_pb.rb +3 -1
  20. data/lib/google/monitoring/v3/group_pb.rb +1 -0
  21. data/lib/google/monitoring/v3/group_service_pb.rb +3 -1
  22. data/lib/google/monitoring/v3/metric_service_pb.rb +3 -1
  23. data/lib/google/monitoring/v3/notification_pb.rb +2 -0
  24. data/lib/google/monitoring/v3/notification_service_pb.rb +3 -1
  25. data/lib/google/monitoring/v3/service_pb.rb +1 -0
  26. data/lib/google/monitoring/v3/service_service_pb.rb +3 -1
  27. data/lib/google/monitoring/v3/uptime_pb.rb +1 -0
  28. data/lib/google/monitoring/v3/uptime_service_pb.rb +3 -1
  29. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4cf2e9e65b679c4389ee6378cb6b56b1965bc39dc45e9fb72b30bf2293e38dd2
4
- data.tar.gz: 3723f5a141bf86d52203432b5ce5532ffd087caed26468e0fabee6a22a9f697d
3
+ metadata.gz: fee166ee580d75f5444f9e5e83666e171ab57011f7052630cd88ad81ea1c07ee
4
+ data.tar.gz: 53070f57c04736c8253f139ef784cc92595ef338e9088878534a3d47eb124112
5
5
  SHA512:
6
- metadata.gz: 9aba23bae35b4c5400307abe9c7f28456163104f2b9916b33aa2dae91b948ea25b1214e25721399afffd58d9c3f9b20289b4c482489d28bc461fe5b2110844bb
7
- data.tar.gz: 464d802d076fc6cea130b28c5639ec36c6f860f25890d749c08d77271e7df7a8b9982617bf848445d16112895c5c2d7134cd8fd00e19e015cb0feb95a19397e0
6
+ metadata.gz: 200a7c5e1017f81a1c2a1d17c704b6a928a72bb03994c28d601c061d6be781177838d4663b4582d4ca6d4ba77ad51783abb7d13a69ba9656a4456b7b515a8c28
7
+ data.tar.gz: 17193c67b1f292123856337ef6dc65baf8afaaba6608ae2aef5e16e931ead582d42c501270becca67833842381245dc32a7b1cbbde75bae2c8e7064a8877dad3
@@ -286,7 +286,7 @@ module Google
286
286
  # Lists the existing alerting policies for the project.
287
287
  #
288
288
  # @param name [String]
289
- # The project whose alert policies are to be listed. The format is
289
+ # Required. The project whose alert policies are to be listed. The format is
290
290
  #
291
291
  # projects/[PROJECT_ID]
292
292
  #
@@ -365,7 +365,7 @@ module Google
365
365
  # Gets a single alerting policy.
366
366
  #
367
367
  # @param name [String]
368
- # The alerting policy to retrieve. The format is
368
+ # Required. The alerting policy to retrieve. The format is
369
369
  #
370
370
  # projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
371
371
  # @param options [Google::Gax::CallOptions]
@@ -397,7 +397,7 @@ module Google
397
397
  # Creates a new alerting policy.
398
398
  #
399
399
  # @param name [String]
400
- # The project in which to create the alerting policy. The format is
400
+ # Required. The project in which to create the alerting policy. The format is
401
401
  # `projects/[PROJECT_ID]`.
402
402
  #
403
403
  # Note that this field names the parent container in which the alerting
@@ -406,7 +406,7 @@ module Google
406
406
  # representation of this name as a prefix but adds a suffix of the form
407
407
  # `/alertPolicies/[POLICY_ID]`, identifying the policy in the container.
408
408
  # @param alert_policy [Google::Monitoring::V3::AlertPolicy | Hash]
409
- # The requested alerting policy. You should omit the `name` field in this
409
+ # Required. The requested alerting policy. You should omit the `name` field in this
410
410
  # policy. The name will be returned in the new policy, including
411
411
  # a new [ALERT_POLICY_ID] value.
412
412
  # A hash of the same form as `Google::Monitoring::V3::AlertPolicy`
@@ -445,7 +445,7 @@ module Google
445
445
  # Deletes an alerting policy.
446
446
  #
447
447
  # @param name [String]
448
- # The alerting policy to delete. The format is:
448
+ # Required. The alerting policy to delete. The format is:
449
449
  #
450
450
  # projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
451
451
  #
@@ -60,10 +60,14 @@ module Google
60
60
  # OR according to the `combiner` field. If the combined conditions evaluate
61
61
  # to true, then an incident is created. A policy can have from one to six
62
62
  # conditions.
63
+ # If |condition_time_series_uery_language| is present, it must be the only
64
+ # |condition|.
63
65
  # @!attribute [rw] combiner
64
66
  # @return [Google::Monitoring::V3::AlertPolicy::ConditionCombinerType]
65
67
  # How to combine the results of multiple conditions to determine if an
66
68
  # incident should be opened.
69
+ # If condition_time_series_query_language is present, this must be
70
+ # COMBINE_UNSPECIFIED.
67
71
  # @!attribute [rw] enabled
68
72
  # @return [Google::Protobuf::BoolValue]
69
73
  # Whether or not the policy is enabled. On write, the default interpretation
@@ -19,7 +19,7 @@ module Google
19
19
  # The protocol for the `CreateAlertPolicy` request.
20
20
  # @!attribute [rw] name
21
21
  # @return [String]
22
- # The project in which to create the alerting policy. The format is
22
+ # Required. The project in which to create the alerting policy. The format is
23
23
  # `projects/[PROJECT_ID]`.
24
24
  #
25
25
  # Note that this field names the parent container in which the alerting
@@ -29,7 +29,7 @@ module Google
29
29
  # `/alertPolicies/[POLICY_ID]`, identifying the policy in the container.
30
30
  # @!attribute [rw] alert_policy
31
31
  # @return [Google::Monitoring::V3::AlertPolicy]
32
- # The requested alerting policy. You should omit the `name` field in this
32
+ # Required. The requested alerting policy. You should omit the `name` field in this
33
33
  # policy. The name will be returned in the new policy, including
34
34
  # a new [ALERT_POLICY_ID] value.
35
35
  class CreateAlertPolicyRequest; end
@@ -37,7 +37,7 @@ module Google
37
37
  # The protocol for the `GetAlertPolicy` request.
38
38
  # @!attribute [rw] name
39
39
  # @return [String]
40
- # The alerting policy to retrieve. The format is
40
+ # Required. The alerting policy to retrieve. The format is
41
41
  #
42
42
  # projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
43
43
  class GetAlertPolicyRequest; end
@@ -45,7 +45,7 @@ module Google
45
45
  # The protocol for the `ListAlertPolicies` request.
46
46
  # @!attribute [rw] name
47
47
  # @return [String]
48
- # The project whose alert policies are to be listed. The format is
48
+ # Required. The project whose alert policies are to be listed. The format is
49
49
  #
50
50
  # projects/[PROJECT_ID]
51
51
  #
@@ -125,7 +125,7 @@ module Google
125
125
  # The protocol for the `DeleteAlertPolicy` request.
126
126
  # @!attribute [rw] name
127
127
  # @return [String]
128
- # The alerting policy to delete. The format is:
128
+ # Required. The alerting policy to delete. The format is:
129
129
  #
130
130
  # projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
131
131
  #
@@ -64,329 +64,372 @@ module Google
64
64
  # later than the end time.
65
65
  class TimeInterval; end
66
66
 
67
- # Describes how to combine multiple time series to provide different views of
68
- # the data. Aggregation consists of an alignment step on individual time
69
- # series (`alignment_period` and `per_series_aligner`) followed by an optional
70
- # reduction step of the data across the aligned time series
71
- # (`cross_series_reducer` and `group_by_fields`). For more details, see
72
- # [Aggregation](https://cloud.google.com/monitoring/api/learn_more#aggregation).
67
+ # Describes how to combine multiple time series to provide a different view of
68
+ # the data. Aggregation of time series is done in two steps. First, each time
69
+ # series in the set is _aligned_ to the same time interval boundaries, then the
70
+ # set of time series is optionally _reduced_ in number.
71
+ #
72
+ # Alignment consists of applying the `per_series_aligner` operation
73
+ # to each time series after its data has been divided into regular
74
+ # `alignment_period` time intervals. This process takes _all_ of the data
75
+ # points in an alignment period, applies a mathematical transformation such as
76
+ # averaging, minimum, maximum, delta, etc., and converts them into a single
77
+ # data point per period.
78
+ #
79
+ # Reduction is when the aligned and transformed time series can optionally be
80
+ # combined, reducing the number of time series through similar mathematical
81
+ # transformations. Reduction involves applying a `cross_series_reducer` to
82
+ # all the time series, optionally sorting the time series into subsets with
83
+ # `group_by_fields`, and applying the reducer to each subset.
84
+ #
85
+ # The raw time series data can contain a huge amount of information from
86
+ # multiple sources. Alignment and reduction transforms this mass of data into
87
+ # a more manageable and representative collection of data, for example "the
88
+ # 95% latency across the average of all tasks in a cluster". This
89
+ # representative data can be more easily graphed and comprehended, and the
90
+ # individual time series data is still available for later drilldown. For more
91
+ # details, see [Aggregating Time
92
+ # Series](/monitoring/api/v3/metrics#aggregating_time_series).
73
93
  # @!attribute [rw] alignment_period
74
94
  # @return [Google::Protobuf::Duration]
75
- # The alignment period for per-{Google::Monitoring::V3::TimeSeries time series}
76
- # alignment. If present, `alignmentPeriod` must be at least 60
77
- # seconds. After per-time series alignment, each time series will
78
- # contain data points only on the period boundaries. If
79
- # `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then
80
- # this field is ignored. If `perSeriesAligner` is specified and
81
- # does not equal `ALIGN_NONE`, then this field must be defined;
82
- # otherwise an error is returned.
95
+ # The `alignment_period` specifies a time interval, in seconds, that is used
96
+ # to divide the data in all the
97
+ # {Google::Monitoring::V3::TimeSeries time series} into consistent blocks of
98
+ # time. This will be done before the per-series aligner can be applied to
99
+ # the data.
100
+ #
101
+ # The value must be at least 60 seconds. If a per-series aligner other than
102
+ # `ALIGN_NONE` is specified, this field is required or an error is returned.
103
+ # If no per-series aligner is specified, or the aligner `ALIGN_NONE` is
104
+ # specified, then this field is ignored.
83
105
  # @!attribute [rw] per_series_aligner
84
106
  # @return [Google::Monitoring::V3::Aggregation::Aligner]
85
- # The approach to be used to align individual time series. Not all
86
- # alignment functions may be applied to all time series, depending
87
- # on the metric type and value type of the original time
88
- # series. Alignment may change the metric type or the value type of
107
+ # An `Aligner` describes how to bring the data points in a single
108
+ # time series into temporal alignment. Except for `ALIGN_NONE`, all
109
+ # alignments cause all the data points in an `alignment_period` to be
110
+ # mathematically grouped together, resulting in a single data point for
111
+ # each `alignment_period` with end timestamp at the end of the period.
112
+ #
113
+ # Not all alignment operations may be applied to all time series. The valid
114
+ # choices depend on the `metric_kind` and `value_type` of the original time
115
+ # series. Alignment can change the `metric_kind` or the `value_type` of
89
116
  # the time series.
90
117
  #
91
118
  # Time series data must be aligned in order to perform cross-time
92
- # series reduction. If `crossSeriesReducer` is specified, then
93
- # `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
94
- # and `alignmentPeriod` must be specified; otherwise, an error is
119
+ # series reduction. If `cross_series_reducer` is specified, then
120
+ # `per_series_aligner` must be specified and not equal to `ALIGN_NONE`
121
+ # and `alignment_period` must be specified; otherwise, an error is
95
122
  # returned.
96
123
  # @!attribute [rw] cross_series_reducer
97
124
  # @return [Google::Monitoring::V3::Aggregation::Reducer]
98
- # The approach to be used to combine time series. Not all reducer
99
- # functions may be applied to all time series, depending on the
100
- # metric type and the value type of the original time
101
- # series. Reduction may change the metric type of value type of the
102
- # time series.
125
+ # The reduction operation to be used to combine time series into a single
126
+ # time series, where the value of each data point in the resulting series is
127
+ # a function of all the already aligned values in the input time series.
103
128
  #
104
- # Time series data must be aligned in order to perform cross-time
105
- # series reduction. If `crossSeriesReducer` is specified, then
106
- # `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
107
- # and `alignmentPeriod` must be specified; otherwise, an error is
108
- # returned.
129
+ # Not all reducer operations can be applied to all time series. The valid
130
+ # choices depend on the `metric_kind` and the `value_type` of the original
131
+ # time series. Reduction can yield a time series with a different
132
+ # `metric_kind` or `value_type` than the input time series.
133
+ #
134
+ # Time series data must first be aligned (see `per_series_aligner`) in order
135
+ # to perform cross-time series reduction. If `cross_series_reducer` is
136
+ # specified, then `per_series_aligner` must be specified, and must not be
137
+ # `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an
138
+ # error is returned.
109
139
  # @!attribute [rw] group_by_fields
110
140
  # @return [Array<String>]
111
- # The set of fields to preserve when `crossSeriesReducer` is
112
- # specified. The `groupByFields` determine how the time series are
141
+ # The set of fields to preserve when `cross_series_reducer` is
142
+ # specified. The `group_by_fields` determine how the time series are
113
143
  # partitioned into subsets prior to applying the aggregation
114
- # function. Each subset contains time series that have the same
144
+ # operation. Each subset contains time series that have the same
115
145
  # value for each of the grouping fields. Each individual time
116
146
  # series is a member of exactly one subset. The
117
- # `crossSeriesReducer` is applied to each subset of time series.
147
+ # `cross_series_reducer` is applied to each subset of time series.
118
148
  # It is not possible to reduce across different resource types, so
119
149
  # this field implicitly contains `resource.type`. Fields not
120
- # specified in `groupByFields` are aggregated away. If
121
- # `groupByFields` is not specified and all the time series have
150
+ # specified in `group_by_fields` are aggregated away. If
151
+ # `group_by_fields` is not specified and all the time series have
122
152
  # the same resource type, then the time series are aggregated into
123
- # a single output time series. If `crossSeriesReducer` is not
153
+ # a single output time series. If `cross_series_reducer` is not
124
154
  # defined, this field is ignored.
125
155
  class Aggregation
126
- # The Aligner describes how to bring the data points in a single
127
- # time series into temporal alignment.
156
+ # The `Aligner` specifies the operation that will be applied to the data
157
+ # points in each alignment period in a time series. Except for
158
+ # `ALIGN_NONE`, which specifies that no operation be applied, each alignment
159
+ # operation replaces the set of data values in each alignment period with
160
+ # a single value: the result of applying the operation to the data values.
161
+ # An aligned time series has a single data value at the end of each
162
+ # `alignment_period`.
163
+ #
164
+ # An alignment operation can change the data type of the values, too. For
165
+ # example, if you apply a counting operation to boolean values, the data
166
+ # `value_type` in the original time series is `BOOLEAN`, but the `value_type`
167
+ # in the aligned result is `INT64`.
128
168
  module Aligner
129
- # No alignment. Raw data is returned. Not valid if cross-time
130
- # series reduction is requested. The value type of the result is
131
- # the same as the value type of the input.
169
+ # No alignment. Raw data is returned. Not valid if cross-series reduction
170
+ # is requested. The `value_type` of the result is the same as the
171
+ # `value_type` of the input.
132
172
  ALIGN_NONE = 0
133
173
 
134
- # Align and convert to delta metric type. This alignment is valid
135
- # for cumulative metrics and delta metrics. Aligning an existing
136
- # delta metric to a delta metric requires that the alignment
137
- # period be increased. The value type of the result is the same
138
- # as the value type of the input.
174
+ # Align and convert to
175
+ # {Google::Api::MetricDescriptor::MetricKind::DELTA DELTA}.
176
+ # The output is `delta = y1 - y0`.
139
177
  #
140
- # One can think of this aligner as a rate but without time units; that
141
- # is, the output is conceptually (second_point - first_point).
178
+ # This alignment is valid for
179
+ # {Google::Api::MetricDescriptor::MetricKind::CUMULATIVE CUMULATIVE} and
180
+ # `DELTA` metrics. If the selected alignment period results in periods
181
+ # with no data, then the aligned value for such a period is created by
182
+ # interpolation. The `value_type` of the aligned result is the same as
183
+ # the `value_type` of the input.
142
184
  ALIGN_DELTA = 1
143
185
 
144
- # Align and convert to a rate. This alignment is valid for
145
- # cumulative metrics and delta metrics with numeric values. The output is a
146
- # gauge metric with value type
147
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
186
+ # Align and convert to a rate. The result is computed as
187
+ # `rate = (y1 - y0)/(t1 - t0)`, or "delta over time".
188
+ # Think of this aligner as providing the slope of the line that passes
189
+ # through the value at the start and at the end of the `alignment_period`.
148
190
  #
149
- # One can think of this aligner as conceptually providing the slope of
150
- # the line that passes through the value at the start and end of the
151
- # window. In other words, this is conceptually ((y1 - y0)/(t1 - t0)),
152
- # and the output unit is one that has a "/time" dimension.
191
+ # This aligner is valid for `CUMULATIVE`
192
+ # and `DELTA` metrics with numeric values. If the selected alignment
193
+ # period results in periods with no data, then the aligned value for
194
+ # such a period is created by interpolation. The output is a `GAUGE`
195
+ # metric with `value_type` `DOUBLE`.
153
196
  #
154
- # If, by rate, you are looking for percentage change, see the
155
- # `ALIGN_PERCENT_CHANGE` aligner option.
197
+ # If, by "rate", you mean "percentage change", see the
198
+ # `ALIGN_PERCENT_CHANGE` aligner instead.
156
199
  ALIGN_RATE = 2
157
200
 
158
- # Align by interpolating between adjacent points around the
159
- # period boundary. This alignment is valid for gauge
160
- # metrics with numeric values. The value type of the result is the same
161
- # as the value type of the input.
201
+ # Align by interpolating between adjacent points around the alignment
202
+ # period boundary. This aligner is valid for `GAUGE` metrics with
203
+ # numeric values. The `value_type` of the aligned result is the same as the
204
+ # `value_type` of the input.
162
205
  ALIGN_INTERPOLATE = 3
163
206
 
164
- # Align by shifting the oldest data point before the period
165
- # boundary to the boundary. This alignment is valid for gauge
166
- # metrics. The value type of the result is the same as the
167
- # value type of the input.
207
+ # Align by moving the most recent data point before the end of the
208
+ # alignment period to the boundary at the end of the alignment
209
+ # period. This aligner is valid for `GAUGE` metrics. The `value_type` of
210
+ # the aligned result is the same as the `value_type` of the input.
168
211
  ALIGN_NEXT_OLDER = 4
169
212
 
170
- # Align time series via aggregation. The resulting data point in
171
- # the alignment period is the minimum of all data points in the
172
- # period. This alignment is valid for gauge and delta metrics with numeric
173
- # values. The value type of the result is the same as the value
174
- # type of the input.
213
+ # Align the time series by returning the minimum value in each alignment
214
+ # period. This aligner is valid for `GAUGE` and `DELTA` metrics with
215
+ # numeric values. The `value_type` of the aligned result is the same as
216
+ # the `value_type` of the input.
175
217
  ALIGN_MIN = 10
176
218
 
177
- # Align time series via aggregation. The resulting data point in
178
- # the alignment period is the maximum of all data points in the
179
- # period. This alignment is valid for gauge and delta metrics with numeric
180
- # values. The value type of the result is the same as the value
181
- # type of the input.
219
+ # Align the time series by returning the maximum value in each alignment
220
+ # period. This aligner is valid for `GAUGE` and `DELTA` metrics with
221
+ # numeric values. The `value_type` of the aligned result is the same as
222
+ # the `value_type` of the input.
182
223
  ALIGN_MAX = 11
183
224
 
184
- # Align time series via aggregation. The resulting data point in
185
- # the alignment period is the average or arithmetic mean of all
186
- # data points in the period. This alignment is valid for gauge and delta
187
- # metrics with numeric values. The value type of the output is
188
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
225
+ # Align the time series by returning the mean value in each alignment
226
+ # period. This aligner is valid for `GAUGE` and `DELTA` metrics with
227
+ # numeric values. The `value_type` of the aligned result is `DOUBLE`.
189
228
  ALIGN_MEAN = 12
190
229
 
191
- # Align time series via aggregation. The resulting data point in
192
- # the alignment period is the count of all data points in the
193
- # period. This alignment is valid for gauge and delta metrics with numeric
194
- # or Boolean values. The value type of the output is
195
- # {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
230
+ # Align the time series by returning the number of values in each alignment
231
+ # period. This aligner is valid for `GAUGE` and `DELTA` metrics with
232
+ # numeric or Boolean values. The `value_type` of the aligned result is
233
+ # `INT64`.
196
234
  ALIGN_COUNT = 13
197
235
 
198
- # Align time series via aggregation. The resulting data point in
199
- # the alignment period is the sum of all data points in the
200
- # period. This alignment is valid for gauge and delta metrics with numeric
201
- # and distribution values. The value type of the output is the
202
- # same as the value type of the input.
236
+ # Align the time series by returning the sum of the values in each
237
+ # alignment period. This aligner is valid for `GAUGE` and `DELTA`
238
+ # metrics with numeric and distribution values. The `value_type` of the
239
+ # aligned result is the same as the `value_type` of the input.
203
240
  ALIGN_SUM = 14
204
241
 
205
- # Align time series via aggregation. The resulting data point in
206
- # the alignment period is the standard deviation of all data
207
- # points in the period. This alignment is valid for gauge and delta metrics
208
- # with numeric values. The value type of the output is
209
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
242
+ # Align the time series by returning the standard deviation of the values
243
+ # in each alignment period. This aligner is valid for `GAUGE` and
244
+ # `DELTA` metrics with numeric values. The `value_type` of the output is
245
+ # `DOUBLE`.
210
246
  ALIGN_STDDEV = 15
211
247
 
212
- # Align time series via aggregation. The resulting data point in
213
- # the alignment period is the count of True-valued data points in the
214
- # period. This alignment is valid for gauge metrics with
215
- # Boolean values. The value type of the output is
216
- # {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
248
+ # Align the time series by returning the number of `True` values in
249
+ # each alignment period. This aligner is valid for `GAUGE` metrics with
250
+ # Boolean values. The `value_type` of the output is `INT64`.
217
251
  ALIGN_COUNT_TRUE = 16
218
252
 
219
- # Align time series via aggregation. The resulting data point in
220
- # the alignment period is the count of False-valued data points in the
221
- # period. This alignment is valid for gauge metrics with
222
- # Boolean values. The value type of the output is
223
- # {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
253
+ # Align the time series by returning the number of `False` values in
254
+ # each alignment period. This aligner is valid for `GAUGE` metrics with
255
+ # Boolean values. The `value_type` of the output is `INT64`.
224
256
  ALIGN_COUNT_FALSE = 24
225
257
 
226
- # Align time series via aggregation. The resulting data point in
227
- # the alignment period is the fraction of True-valued data points in the
228
- # period. This alignment is valid for gauge metrics with Boolean values.
229
- # The output value is in the range [0, 1] and has value type
230
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
258
+ # Align the time series by returning the ratio of the number of `True`
259
+ # values to the total number of values in each alignment period. This
260
+ # aligner is valid for `GAUGE` metrics with Boolean values. The output
261
+ # value is in the range [0.0, 1.0] and has `value_type` `DOUBLE`.
231
262
  ALIGN_FRACTION_TRUE = 17
232
263
 
233
- # Align time series via aggregation. The resulting data point in
234
- # the alignment period is the 99th percentile of all data
235
- # points in the period. This alignment is valid for gauge and delta metrics
236
- # with distribution values. The output is a gauge metric with value type
237
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
264
+ # Align the time series by using [percentile
265
+ # aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
266
+ # data point in each alignment period is the 99th percentile of all data
267
+ # points in the period. This aligner is valid for `GAUGE` and `DELTA`
268
+ # metrics with distribution values. The output is a `GAUGE` metric with
269
+ # `value_type` `DOUBLE`.
238
270
  ALIGN_PERCENTILE_99 = 18
239
271
 
240
- # Align time series via aggregation. The resulting data point in
241
- # the alignment period is the 95th percentile of all data
242
- # points in the period. This alignment is valid for gauge and delta metrics
243
- # with distribution values. The output is a gauge metric with value type
244
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
272
+ # Align the time series by using [percentile
273
+ # aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
274
+ # data point in each alignment period is the 95th percentile of all data
275
+ # points in the period. This aligner is valid for `GAUGE` and `DELTA`
276
+ # metrics with distribution values. The output is a `GAUGE` metric with
277
+ # `value_type` `DOUBLE`.
245
278
  ALIGN_PERCENTILE_95 = 19
246
279
 
247
- # Align time series via aggregation. The resulting data point in
248
- # the alignment period is the 50th percentile of all data
249
- # points in the period. This alignment is valid for gauge and delta metrics
250
- # with distribution values. The output is a gauge metric with value type
251
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
280
+ # Align the time series by using [percentile
281
+ # aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
282
+ # data point in each alignment period is the 50th percentile of all data
283
+ # points in the period. This aligner is valid for `GAUGE` and `DELTA`
284
+ # metrics with distribution values. The output is a `GAUGE` metric with
285
+ # `value_type` `DOUBLE`.
252
286
  ALIGN_PERCENTILE_50 = 20
253
287
 
254
- # Align time series via aggregation. The resulting data point in
255
- # the alignment period is the 5th percentile of all data
256
- # points in the period. This alignment is valid for gauge and delta metrics
257
- # with distribution values. The output is a gauge metric with value type
258
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
288
+ # Align the time series by using [percentile
289
+ # aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
290
+ # data point in each alignment period is the 5th percentile of all data
291
+ # points in the period. This aligner is valid for `GAUGE` and `DELTA`
292
+ # metrics with distribution values. The output is a `GAUGE` metric with
293
+ # `value_type` `DOUBLE`.
259
294
  ALIGN_PERCENTILE_05 = 21
260
295
 
261
- # Align and convert to a percentage change. This alignment is valid for
262
- # gauge and delta metrics with numeric values. This alignment conceptually
263
- # computes the equivalent of "((current - previous)/previous)*100"
264
- # where previous value is determined based on the alignmentPeriod.
265
- # In the event that previous is 0 the calculated value is infinity with the
266
- # exception that if both (current - previous) and previous are 0 the
267
- # calculated value is 0.
268
- # A 10 minute moving mean is computed at each point of the time window
296
+ # Align and convert to a percentage change. This aligner is valid for
297
+ # `GAUGE` and `DELTA` metrics with numeric values. This alignment returns
298
+ # `((current - previous)/previous) * 100`, where the value of `previous` is
299
+ # determined based on the `alignment_period`.
300
+ #
301
+ # If the values of `current` and `previous` are both 0, then the returned
302
+ # value is 0. If only `previous` is 0, the returned value is infinity.
303
+ #
304
+ # A 10-minute moving mean is computed at each point of the alignment period
269
305
  # prior to the above calculation to smooth the metric and prevent false
270
- # positives from very short lived spikes.
271
- # Only applicable for data that is >= 0. Any values < 0 are treated as
272
- # no data. While delta metrics are accepted by this alignment special care
273
- # should be taken that the values for the metric will always be positive.
274
- # The output is a gauge metric with value type
275
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
306
+ # positives from very short-lived spikes. The moving mean is only
307
+ # applicable for data whose values are `>= 0`. Any values `< 0` are
308
+ # treated as a missing datapoint, and are ignored. While `DELTA`
309
+ # metrics are accepted by this alignment, special care should be taken that
310
+ # the values for the metric will always be positive. The output is a
311
+ # `GAUGE` metric with `value_type` `DOUBLE`.
276
312
  ALIGN_PERCENT_CHANGE = 23
277
313
  end
278
314
 
279
- # A Reducer describes how to aggregate data points from multiple
280
- # time series into a single time series.
315
+ # A Reducer operation describes how to aggregate data points from multiple
316
+ # time series into a single time series, where the value of each data point
317
+ # in the resulting series is a function of all the already aligned values in
318
+ # the input time series.
281
319
  module Reducer
282
- # No cross-time series reduction. The output of the aligner is
320
+ # No cross-time series reduction. The output of the `Aligner` is
283
321
  # returned.
284
322
  REDUCE_NONE = 0
285
323
 
286
- # Reduce by computing the mean across time series for each
287
- # alignment period. This reducer is valid for delta and
288
- # gauge metrics with numeric or distribution values. The value type of the
289
- # output is {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
324
+ # Reduce by computing the mean value across time series for each
325
+ # alignment period. This reducer is valid for
326
+ # {Google::Api::MetricDescriptor::MetricKind::DELTA DELTA} and
327
+ # {Google::Api::MetricDescriptor::MetricKind::GAUGE GAUGE} metrics with
328
+ # numeric or distribution values. The `value_type` of the output is
329
+ # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
290
330
  REDUCE_MEAN = 1
291
331
 
292
- # Reduce by computing the minimum across time series for each
293
- # alignment period. This reducer is valid for delta and
294
- # gauge metrics with numeric values. The value type of the output
295
- # is the same as the value type of the input.
332
+ # Reduce by computing the minimum value across time series for each
333
+ # alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
334
+ # with numeric values. The `value_type` of the output is the same as the
335
+ # `value_type` of the input.
296
336
  REDUCE_MIN = 2
297
337
 
298
- # Reduce by computing the maximum across time series for each
299
- # alignment period. This reducer is valid for delta and
300
- # gauge metrics with numeric values. The value type of the output
301
- # is the same as the value type of the input.
338
+ # Reduce by computing the maximum value across time series for each
339
+ # alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
340
+ # with numeric values. The `value_type` of the output is the same as the
341
+ # `value_type` of the input.
302
342
  REDUCE_MAX = 3
303
343
 
304
344
  # Reduce by computing the sum across time series for each
305
- # alignment period. This reducer is valid for delta and
306
- # gauge metrics with numeric and distribution values. The value type of
307
- # the output is the same as the value type of the input.
345
+ # alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
346
+ # with numeric and distribution values. The `value_type` of the output is
347
+ # the same as the `value_type` of the input.
308
348
  REDUCE_SUM = 4
309
349
 
310
350
  # Reduce by computing the standard deviation across time series
311
- # for each alignment period. This reducer is valid for delta
312
- # and gauge metrics with numeric or distribution values. The value type of
313
- # the output is {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
351
+ # for each alignment period. This reducer is valid for `DELTA` and
352
+ # `GAUGE` metrics with numeric or distribution values. The `value_type`
353
+ # of the output is `DOUBLE`.
314
354
  REDUCE_STDDEV = 5
315
355
 
316
- # Reduce by computing the count of data points across time series
317
- # for each alignment period. This reducer is valid for delta
318
- # and gauge metrics of numeric, Boolean, distribution, and string value
319
- # type. The value type of the output is
320
- # {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
356
+ # Reduce by computing the number of data points across time series
357
+ # for each alignment period. This reducer is valid for `DELTA` and
358
+ # `GAUGE` metrics of numeric, Boolean, distribution, and string
359
+ # `value_type`. The `value_type` of the output is `INT64`.
321
360
  REDUCE_COUNT = 6
322
361
 
323
- # Reduce by computing the count of True-valued data points across time
324
- # series for each alignment period. This reducer is valid for delta
325
- # and gauge metrics of Boolean value type. The value type of
326
- # the output is {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
362
+ # Reduce by computing the number of `True`-valued data points across time
363
+ # series for each alignment period. This reducer is valid for `DELTA` and
364
+ # `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
365
+ # is `INT64`.
327
366
  REDUCE_COUNT_TRUE = 7
328
367
 
329
- # Reduce by computing the count of False-valued data points across time
330
- # series for each alignment period. This reducer is valid for delta
331
- # and gauge metrics of Boolean value type. The value type of
332
- # the output is {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
368
+ # Reduce by computing the number of `False`-valued data points across time
369
+ # series for each alignment period. This reducer is valid for `DELTA` and
370
+ # `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
371
+ # is `INT64`.
333
372
  REDUCE_COUNT_FALSE = 15
334
373
 
335
- # Reduce by computing the fraction of True-valued data points across time
336
- # series for each alignment period. This reducer is valid for delta
337
- # and gauge metrics of Boolean value type. The output value is in the
338
- # range [0, 1] and has value type
339
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
374
+ # Reduce by computing the ratio of the number of `True`-valued data points
375
+ # to the total number of data points for each alignment period. This
376
+ # reducer is valid for `DELTA` and `GAUGE` metrics of Boolean `value_type`.
377
+ # The output value is in the range [0.0, 1.0] and has `value_type`
378
+ # `DOUBLE`.
340
379
  REDUCE_FRACTION_TRUE = 8
341
380
 
342
- # Reduce by computing 99th percentile of data points across time series
343
- # for each alignment period. This reducer is valid for gauge and delta
344
- # metrics of numeric and distribution type. The value of the output is
345
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}
381
+ # Reduce by computing the [99th
382
+ # percentile](https://en.wikipedia.org/wiki/Percentile) of data points
383
+ # across time series for each alignment period. This reducer is valid for
384
+ # `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
385
+ # of the output is `DOUBLE`.
346
386
  REDUCE_PERCENTILE_99 = 9
347
387
 
348
- # Reduce by computing 95th percentile of data points across time series
349
- # for each alignment period. This reducer is valid for gauge and delta
350
- # metrics of numeric and distribution type. The value of the output is
351
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}
388
+ # Reduce by computing the [95th
389
+ # percentile](https://en.wikipedia.org/wiki/Percentile) of data points
390
+ # across time series for each alignment period. This reducer is valid for
391
+ # `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
392
+ # of the output is `DOUBLE`.
352
393
  REDUCE_PERCENTILE_95 = 10
353
394
 
354
- # Reduce by computing 50th percentile of data points across time series
355
- # for each alignment period. This reducer is valid for gauge and delta
356
- # metrics of numeric and distribution type. The value of the output is
357
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}
395
+ # Reduce by computing the [50th
396
+ # percentile](https://en.wikipedia.org/wiki/Percentile) of data points
397
+ # across time series for each alignment period. This reducer is valid for
398
+ # `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
399
+ # of the output is `DOUBLE`.
358
400
  REDUCE_PERCENTILE_50 = 11
359
401
 
360
- # Reduce by computing 5th percentile of data points across time series
361
- # for each alignment period. This reducer is valid for gauge and delta
362
- # metrics of numeric and distribution type. The value of the output is
363
- # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}
402
+ # Reduce by computing the [5th
403
+ # percentile](https://en.wikipedia.org/wiki/Percentile) of data points
404
+ # across time series for each alignment period. This reducer is valid for
405
+ # `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
406
+ # of the output is `DOUBLE`.
364
407
  REDUCE_PERCENTILE_05 = 12
365
408
  end
366
409
  end
367
410
 
368
- # Specifies an ordering relationship on two arguments, here called left and
369
- # right.
411
+ # Specifies an ordering relationship on two arguments, called `left` and
412
+ # `right`.
370
413
  module ComparisonType
371
414
  # No ordering relationship is specified.
372
415
  COMPARISON_UNSPECIFIED = 0
373
416
 
374
- # The left argument is greater than the right argument.
417
+ # True if the left argument is greater than the right argument.
375
418
  COMPARISON_GT = 1
376
419
 
377
- # The left argument is greater than or equal to the right argument.
420
+ # True if the left argument is greater than or equal to the right argument.
378
421
  COMPARISON_GE = 2
379
422
 
380
- # The left argument is less than the right argument.
423
+ # True if the left argument is less than the right argument.
381
424
  COMPARISON_LT = 3
382
425
 
383
- # The left argument is less than or equal to the right argument.
426
+ # True if the left argument is less than or equal to the right argument.
384
427
  COMPARISON_LE = 4
385
428
 
386
- # The left argument is equal to the right argument.
429
+ # True if the left argument is equal to the right argument.
387
430
  COMPARISON_EQ = 5
388
431
 
389
- # The left argument is not equal to the right argument.
432
+ # True if the left argument is not equal to the right argument.
390
433
  COMPARISON_NE = 6
391
434
  end
392
435