google-cloud-monitoring 0.34.2 → 0.35.0

Sign up to get free protection for your applications and to get access to all the features.
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