google-cloud-monitoring 0.27.0 → 0.28.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -5
  3. data/lib/google/cloud/monitoring.rb +164 -6
  4. data/lib/google/cloud/monitoring/credentials.rb +1 -1
  5. data/lib/google/cloud/monitoring/v3.rb +167 -26
  6. data/lib/google/cloud/monitoring/v3/alert_policy_service_client.rb +486 -0
  7. data/lib/google/cloud/monitoring/v3/alert_policy_service_client_config.json +51 -0
  8. data/lib/google/cloud/monitoring/v3/doc/google/api/distribution.rb +1 -1
  9. data/lib/google/cloud/monitoring/v3/doc/google/api/label.rb +1 -1
  10. data/lib/google/cloud/monitoring/v3/doc/google/api/metric.rb +1 -1
  11. data/lib/google/cloud/monitoring/v3/doc/google/api/monitored_resource.rb +1 -1
  12. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/alert.rb +326 -0
  13. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/common.rb +91 -3
  14. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/group.rb +1 -1
  15. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/metric.rb +1 -1
  16. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/mutation_record.rb +28 -0
  17. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/notification.rb +152 -0
  18. data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/uptime.rb +223 -0
  19. data/lib/google/cloud/monitoring/v3/doc/google/protobuf/duration.rb +1 -1
  20. data/lib/google/cloud/monitoring/v3/doc/google/protobuf/field_mask.rb +223 -0
  21. data/lib/google/cloud/monitoring/v3/doc/google/protobuf/timestamp.rb +1 -1
  22. data/lib/google/cloud/monitoring/v3/doc/google/protobuf/wrappers.rb +89 -0
  23. data/lib/google/cloud/monitoring/v3/doc/overview.rb +8 -7
  24. data/lib/google/cloud/monitoring/v3/group_service_client.rb +13 -21
  25. data/lib/google/cloud/monitoring/v3/metric_service_client.rb +19 -21
  26. data/lib/google/cloud/monitoring/v3/notification_channel_service_client.rb +557 -0
  27. data/lib/google/cloud/monitoring/v3/notification_channel_service_client_config.json +61 -0
  28. data/lib/google/cloud/monitoring/v3/uptime_check_service_client.rb +476 -0
  29. data/lib/google/cloud/monitoring/v3/uptime_check_service_client_config.json +56 -0
  30. data/lib/google/monitoring/v3/alert_pb.rb +78 -0
  31. data/lib/google/monitoring/v3/alert_service_pb.rb +49 -0
  32. data/lib/google/monitoring/v3/alert_service_services_pb.rb +62 -0
  33. data/lib/google/monitoring/v3/common_pb.rb +20 -0
  34. data/lib/google/monitoring/v3/group_service_services_pb.rb +1 -1
  35. data/lib/google/monitoring/v3/metric_service_services_pb.rb +1 -1
  36. data/lib/google/monitoring/v3/mutation_record_pb.rb +20 -0
  37. data/lib/google/monitoring/v3/notification_pb.rb +44 -0
  38. data/lib/google/monitoring/v3/notification_service_pb.rb +85 -0
  39. data/lib/google/monitoring/v3/notification_service_services_pb.rb +93 -0
  40. data/lib/google/monitoring/v3/uptime_pb.rb +89 -0
  41. data/lib/google/monitoring/v3/uptime_service_pb.rb +57 -0
  42. data/lib/google/monitoring/v3/uptime_service_services_pb.rb +66 -0
  43. metadata +31 -9
@@ -0,0 +1,51 @@
1
+ {
2
+ "interfaces": {
3
+ "google.monitoring.v3.AlertPolicyService": {
4
+ "retry_codes": {
5
+ "idempotent": [
6
+ "DEADLINE_EXCEEDED",
7
+ "UNAVAILABLE"
8
+ ],
9
+ "non_idempotent": []
10
+ },
11
+ "retry_params": {
12
+ "default": {
13
+ "initial_retry_delay_millis": 100,
14
+ "retry_delay_multiplier": 1.3,
15
+ "max_retry_delay_millis": 60000,
16
+ "initial_rpc_timeout_millis": 20000,
17
+ "rpc_timeout_multiplier": 1.0,
18
+ "max_rpc_timeout_millis": 20000,
19
+ "total_timeout_millis": 600000
20
+ }
21
+ },
22
+ "methods": {
23
+ "ListAlertPolicies": {
24
+ "timeout_millis": 60000,
25
+ "retry_codes_name": "idempotent",
26
+ "retry_params_name": "default"
27
+ },
28
+ "GetAlertPolicy": {
29
+ "timeout_millis": 60000,
30
+ "retry_codes_name": "idempotent",
31
+ "retry_params_name": "default"
32
+ },
33
+ "CreateAlertPolicy": {
34
+ "timeout_millis": 60000,
35
+ "retry_codes_name": "non_idempotent",
36
+ "retry_params_name": "default"
37
+ },
38
+ "DeleteAlertPolicy": {
39
+ "timeout_millis": 60000,
40
+ "retry_codes_name": "idempotent",
41
+ "retry_params_name": "default"
42
+ },
43
+ "UpdateAlertPolicy": {
44
+ "timeout_millis": 60000,
45
+ "retry_codes_name": "non_idempotent",
46
+ "retry_params_name": "default"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
@@ -1,4 +1,4 @@
1
- # Copyright 2017 Google LLC
1
+ # Copyright 2018 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2017 Google LLC
1
+ # Copyright 2018 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2017 Google LLC
1
+ # Copyright 2018 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2017 Google LLC
1
+ # Copyright 2018 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -0,0 +1,326 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Monitoring
17
+ module V3
18
+ # A description of the conditions under which some aspect of your system is
19
+ # considered to be "unhealthy" and the ways to notify people or services about
20
+ # this state. For an overview of alert policies, see
21
+ # [Introduction to Alerting](https://cloud.google.com/monitoring/alerts/).
22
+ # @!attribute [rw] name
23
+ # @return [String]
24
+ # Required if the policy exists. The resource name for this policy. The
25
+ # syntax is:
26
+ #
27
+ # projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
28
+ #
29
+ # +[ALERT_POLICY_ID]+ is assigned by Stackdriver Monitoring when the policy
30
+ # is created. When calling the
31
+ # {Google::Monitoring::V3::AlertPolicyService::CreateAlertPolicy alertPolicies::create}
32
+ # method, do not include the +name+ field in the alerting policy passed as
33
+ # part of the request.
34
+ # @!attribute [rw] display_name
35
+ # @return [String]
36
+ # A short name or phrase used to identify the policy in dashboards,
37
+ # notifications, and incidents. To avoid confusion, don't use the same
38
+ # display name for multiple policies in the same project. The name is
39
+ # limited to 512 Unicode characters.
40
+ # @!attribute [rw] documentation
41
+ # @return [Google::Monitoring::V3::AlertPolicy::Documentation]
42
+ # Documentation that is included with notifications and incidents related to
43
+ # this policy. Best practice is for the documentation to include information
44
+ # to help responders understand, mitigate, escalate, and correct the
45
+ # underlying problems detected by the alerting policy. Notification channels
46
+ # that have limited capacity might not show this documentation.
47
+ # @!attribute [rw] user_labels
48
+ # @return [Hash{String => String}]
49
+ # User-supplied key/value data to be used for organizing and
50
+ # identifying the +AlertPolicy+ objects.
51
+ #
52
+ # The field can contain up to 64 entries. Each key and value is limited to
53
+ # 63 Unicode characters or 128 bytes, whichever is smaller. Labels and
54
+ # values can contain only lowercase letters, numerals, underscores, and
55
+ # dashes. Keys must begin with a letter.
56
+ # @!attribute [rw] conditions
57
+ # @return [Array<Google::Monitoring::V3::AlertPolicy::Condition>]
58
+ # A list of conditions for the policy. The conditions are combined by AND or
59
+ # OR according to the +combiner+ field. If the combined conditions evaluate
60
+ # to true, then an incident is created. A policy can have from one to six
61
+ # conditions.
62
+ # @!attribute [rw] combiner
63
+ # @return [Google::Monitoring::V3::AlertPolicy::ConditionCombinerType]
64
+ # How to combine the results of multiple conditions
65
+ # to determine if an incident should be opened.
66
+ # @!attribute [rw] enabled
67
+ # @return [Google::Protobuf::BoolValue]
68
+ # Whether or not the policy is enabled. On write, the default interpretation
69
+ # if unset is that the policy is enabled. On read, clients should not make
70
+ # any assumption about the state if it has not been populated. The
71
+ # field should always be populated on List and Get operations, unless
72
+ # a field projection has been specified that strips it out.
73
+ # @!attribute [rw] notification_channels
74
+ # @return [Array<String>]
75
+ # Identifies the notification channels to which notifications should be sent
76
+ # when incidents are opened or closed or when new violations occur on
77
+ # an already opened incident. Each element of this array corresponds to
78
+ # the +name+ field in each of the
79
+ # {Google::Monitoring::V3::NotificationChannel +NotificationChannel+}
80
+ # objects that are returned from the [+ListNotificationChannels+]
81
+ # [google.monitoring.v3.NotificationChannelService.ListNotificationChannels]
82
+ # method. The syntax of the entries in this field is:
83
+ #
84
+ # projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
85
+ # @!attribute [rw] creation_record
86
+ # @return [Google::Monitoring::V3::MutationRecord]
87
+ # A read-only record of the creation of the alerting policy. If provided
88
+ # in a call to create or update, this field will be ignored.
89
+ # @!attribute [rw] mutation_record
90
+ # @return [Google::Monitoring::V3::MutationRecord]
91
+ # A read-only record of the most recent change to the alerting policy. If
92
+ # provided in a call to create or update, this field will be ignored.
93
+ class AlertPolicy
94
+ # A content string and a MIME type that describes the content string's
95
+ # format.
96
+ # @!attribute [rw] content
97
+ # @return [String]
98
+ # The text of the documentation, interpreted according to +mime_type+.
99
+ # The content may not exceed 8,192 Unicode characters and may not exceed
100
+ # more than 10,240 bytes when encoded in UTF-8 format, whichever is
101
+ # smaller.
102
+ # @!attribute [rw] mime_type
103
+ # @return [String]
104
+ # The format of the +content+ field. Presently, only the value
105
+ # +"text/markdown"+ is supported. See
106
+ # [Markdown](https://en.wikipedia.org/wiki/Markdown) for more information.
107
+ class Documentation; end
108
+
109
+ # A condition is a true/false test that determines when an alerting policy
110
+ # should open an incident. If a condition evaluates to true, it signifies
111
+ # that something is wrong.
112
+ # @!attribute [rw] name
113
+ # @return [String]
114
+ # Required if the condition exists. The unique resource name for this
115
+ # condition. Its syntax is:
116
+ #
117
+ # projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]
118
+ #
119
+ # +[CONDITION_ID]+ is assigned by Stackdriver Monitoring when the
120
+ # condition is created as part of a new or updated alerting policy.
121
+ #
122
+ # When calling the
123
+ # {Google::Monitoring::V3::AlertPolicyService::CreateAlertPolicy alertPolicies::create}
124
+ # method, do not include the +name+ field in the conditions of the
125
+ # requested alerting policy. Stackdriver Monitoring creates the
126
+ # condition identifiers and includes them in the new policy.
127
+ #
128
+ # When calling the
129
+ # {Google::Monitoring::V3::AlertPolicyService::UpdateAlertPolicy alertPolicies::update}
130
+ # method to update a policy, including a condition +name+ causes the
131
+ # existing condition to be updated. Conditions without names are added to
132
+ # the updated policy. Existing conditions are deleted if they are not
133
+ # updated.
134
+ #
135
+ # Best practice is to preserve +[CONDITION_ID]+ if you make only small
136
+ # changes, such as those to condition thresholds, durations, or trigger
137
+ # values. Otherwise, treat the change as a new condition and let the
138
+ # existing condition be deleted.
139
+ # @!attribute [rw] display_name
140
+ # @return [String]
141
+ # A short name or phrase used to identify the condition in dashboards,
142
+ # notifications, and incidents. To avoid confusion, don't use the same
143
+ # display name for multiple conditions in the same policy.
144
+ # @!attribute [rw] condition_threshold
145
+ # @return [Google::Monitoring::V3::AlertPolicy::Condition::MetricThreshold]
146
+ # A condition that compares a time series against a threshold.
147
+ # @!attribute [rw] condition_absent
148
+ # @return [Google::Monitoring::V3::AlertPolicy::Condition::MetricAbsence]
149
+ # A condition that checks that a time series continues to
150
+ # receive new data points.
151
+ class Condition
152
+ # Specifies how many time series must fail a predicate to trigger a
153
+ # condition. If not specified, then a +{count: 1}+ trigger is used.
154
+ # @!attribute [rw] count
155
+ # @return [Integer]
156
+ # The absolute number of time series that must fail
157
+ # the predicate for the condition to be triggered.
158
+ # @!attribute [rw] percent
159
+ # @return [Float]
160
+ # The percentage of time series that must fail the
161
+ # predicate for the condition to be triggered.
162
+ class Trigger; end
163
+
164
+ # A condition type that compares a collection of time series
165
+ # against a threshold.
166
+ # @!attribute [rw] filter
167
+ # @return [String]
168
+ # A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
169
+ # identifies which time series should be compared with the threshold.
170
+ #
171
+ # The filter is similar to the one that is specified in the
172
+ # [+MetricService.ListTimeSeries+
173
+ # request](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) (that
174
+ # call is useful to verify the time series that will be retrieved /
175
+ # processed) and must specify the metric type and optionally may contain
176
+ # restrictions on resource type, resource labels, and metric labels.
177
+ # This field may not exceed 2048 Unicode characters in length.
178
+ # @!attribute [rw] aggregations
179
+ # @return [Array<Google::Monitoring::V3::Aggregation>]
180
+ # Specifies the alignment of data points in individual time series as
181
+ # well as how to combine the retrieved time series together (such as
182
+ # when aggregating multiple streams on each resource to a single
183
+ # stream for each resource or when aggregating streams across all
184
+ # members of a group of resrouces). Multiple aggregations
185
+ # are applied in the order specified.
186
+ #
187
+ # This field is similar to the one in the
188
+ # [+MetricService.ListTimeSeries+ request](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).
189
+ # It is advisable to use the +ListTimeSeries+ method when debugging this field.
190
+ # @!attribute [rw] denominator_filter
191
+ # @return [String]
192
+ # A [filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies a time
193
+ # series that should be used as the denominator of a ratio that will be
194
+ # compared with the threshold. If a +denominator_filter+ is specified,
195
+ # the time series specified by the +filter+ field will be used as the
196
+ # numerator.
197
+ #
198
+ # The filter is similar to the one that is specified in the
199
+ # [+MetricService.ListTimeSeries+
200
+ # request](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) (that
201
+ # call is useful to verify the time series that will be retrieved /
202
+ # processed) and must specify the metric type and optionally may contain
203
+ # restrictions on resource type, resource labels, and metric labels.
204
+ # This field may not exceed 2048 Unicode characters in length.
205
+ # @!attribute [rw] denominator_aggregations
206
+ # @return [Array<Google::Monitoring::V3::Aggregation>]
207
+ # Specifies the alignment of data points in individual time series
208
+ # selected by +denominatorFilter+ as
209
+ # well as how to combine the retrieved time series together (such as
210
+ # when aggregating multiple streams on each resource to a single
211
+ # stream for each resource or when aggregating streams across all
212
+ # members of a group of resources).
213
+ #
214
+ # When computing ratios, the +aggregations+ and
215
+ # +denominator_aggregations+ fields must use the same alignment period
216
+ # and produce time series that have the same periodicity and labels.
217
+ #
218
+ # This field is similar to the one in the
219
+ # [+MetricService.ListTimeSeries+
220
+ # request](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). It
221
+ # is advisable to use the +ListTimeSeries+ method when debugging this
222
+ # field.
223
+ # @!attribute [rw] comparison
224
+ # @return [Google::Monitoring::V3::ComparisonType]
225
+ # The comparison to apply between the time series (indicated by +filter+
226
+ # and +aggregation+) and the threshold (indicated by +threshold_value+).
227
+ # The comparison is applied on each time series, with the time series
228
+ # on the left-hand side and the threshold on the right-hand side.
229
+ #
230
+ # Only +COMPARISON_LT+ and +COMPARISON_GT+ are supported currently.
231
+ # @!attribute [rw] threshold_value
232
+ # @return [Float]
233
+ # A value against which to compare the time series.
234
+ # @!attribute [rw] duration
235
+ # @return [Google::Protobuf::Duration]
236
+ # The amount of time that a time series must violate the
237
+ # threshold to be considered failing. Currently, only values
238
+ # that are a multiple of a minute--e.g. 60, 120, or 300
239
+ # seconds--are supported. If an invalid value is given, an
240
+ # error will be returned. The +Duration.nanos+ field is
241
+ # ignored. When choosing a duration, it is useful to keep in mind the
242
+ # frequency of the underlying time series data (which may also be
243
+ # affected by any alignments specified in the +aggregation+ field);
244
+ # a good duration is long enough so that a single outlier does not
245
+ # generate spurious alerts, but short enough that unhealthy states
246
+ # are detected and alerted on quickly.
247
+ # @!attribute [rw] trigger
248
+ # @return [Google::Monitoring::V3::AlertPolicy::Condition::Trigger]
249
+ # The number/percent of time series for which the comparison must hold
250
+ # in order for the condition to trigger. If unspecified, then the
251
+ # condition will trigger if the comparison is true for any of the
252
+ # time series that have been identified by +filter+ and +aggregations+,
253
+ # or by the ratio, if +denominator_filter+ and +denominator_aggregations+
254
+ # are specified.
255
+ class MetricThreshold; end
256
+
257
+ # A condition type that checks that monitored resources
258
+ # are reporting data. The configuration defines a metric and
259
+ # a set of monitored resources. The predicate is considered in violation
260
+ # when a time series for the specified metric of a monitored
261
+ # resource does not include any data in the specified +duration+.
262
+ # @!attribute [rw] filter
263
+ # @return [String]
264
+ # A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
265
+ # identifies which time series should be compared with the threshold.
266
+ #
267
+ # The filter is similar to the one that is specified in the
268
+ # [+MetricService.ListTimeSeries+
269
+ # request](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) (that
270
+ # call is useful to verify the time series that will be retrieved /
271
+ # processed) and must specify the metric type and optionally may contain
272
+ # restrictions on resource type, resource labels, and metric labels.
273
+ # This field may not exceed 2048 Unicode characters in length.
274
+ # @!attribute [rw] aggregations
275
+ # @return [Array<Google::Monitoring::V3::Aggregation>]
276
+ # Specifies the alignment of data points in individual time series as
277
+ # well as how to combine the retrieved time series together (such as
278
+ # when aggregating multiple streams on each resource to a single
279
+ # stream for each resource or when aggregating streams across all
280
+ # members of a group of resrouces). Multiple aggregations
281
+ # are applied in the order specified.
282
+ #
283
+ # This field is similar to the
284
+ # one in the [+MetricService.ListTimeSeries+ request](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).
285
+ # It is advisable to use the +ListTimeSeries+ method when debugging this field.
286
+ # @!attribute [rw] duration
287
+ # @return [Google::Protobuf::Duration]
288
+ # The amount of time that a time series must fail to report new
289
+ # data to be considered failing. Currently, only values that
290
+ # are a multiple of a minute--e.g. 60, 120, or 300
291
+ # seconds--are supported. If an invalid value is given, an
292
+ # error will be returned. The +Duration.nanos+ field is
293
+ # ignored.
294
+ # @!attribute [rw] trigger
295
+ # @return [Google::Monitoring::V3::AlertPolicy::Condition::Trigger]
296
+ # The number/percent of time series for which the comparison must hold
297
+ # in order for the condition to trigger. If unspecified, then the
298
+ # condition will trigger if the comparison is true for any of the
299
+ # time series that have been identified by +filter+ and +aggregations+.
300
+ class MetricAbsence; end
301
+ end
302
+
303
+ # Operators for combining conditions.
304
+ module ConditionCombinerType
305
+ # An unspecified combiner.
306
+ COMBINE_UNSPECIFIED = 0
307
+
308
+ # Combine conditions using the logical +AND+ operator. An
309
+ # incident is created only if all conditions are met
310
+ # simultaneously. This combiner is satisfied if all conditions are
311
+ # met, even if they are met on completely different resources.
312
+ AND = 1
313
+
314
+ # Combine conditions using the logical +OR+ operator. An incident
315
+ # is created if any of the listed conditions is met.
316
+ OR = 2
317
+
318
+ # Combine conditions using logical +AND+ operator, but unlike the regular
319
+ # +AND+ option, an incident is created only if all conditions are met
320
+ # simultaneously on at least one resource.
321
+ AND_WITH_MATCHING_RESOURCE = 3
322
+ end
323
+ end
324
+ end
325
+ end
326
+ end
@@ -1,4 +1,4 @@
1
- # Copyright 2017 Google LLC
1
+ # Copyright 2018 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -50,8 +50,9 @@ module Google
50
50
 
51
51
  # Describes how to combine multiple time series to provide different views of
52
52
  # the data. Aggregation consists of an alignment step on individual time
53
- # series (+per_series_aligner+) followed by an optional reduction of the data
54
- # across different time series (+cross_series_reducer+). For more details, see
53
+ # series (+alignment_period+ and +per_series_aligner+) followed by an optional
54
+ # reduction step of the data across the aligned time series
55
+ # (+cross_series_reducer+ and +group_by_fields+). For more details, see
55
56
  # [Aggregation](https://cloud.google.com/monitoring/api/learn_more#aggregation).
56
57
  # @!attribute [rw] alignment_period
57
58
  # @return [Google::Protobuf::Duration]
@@ -119,12 +120,23 @@ module Google
119
120
  # delta metric to a delta metric requires that the alignment
120
121
  # period be increased. The value type of the result is the same
121
122
  # as the value type of the input.
123
+ #
124
+ # One can think of this aligner as a rate but without time units; that
125
+ # is, the output is conceptually (second_point - first_point).
122
126
  ALIGN_DELTA = 1
123
127
 
124
128
  # Align and convert to a rate. This alignment is valid for
125
129
  # cumulative metrics and delta metrics with numeric values. The output is a
126
130
  # gauge metric with value type
127
131
  # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
132
+ #
133
+ # One can think of this aligner as conceptually providing the slope of
134
+ # the line that passes through the value at the start and end of the
135
+ # window. In other words, this is conceptually ((y1 - y0)/(t1 - t0)),
136
+ # and the output unit is one that has a "/time" dimension.
137
+ #
138
+ # If, by rate, you are looking for percentage change, see the
139
+ # +ALIGN_PERCENT_CHANGE+ aligner option.
128
140
  ALIGN_RATE = 2
129
141
 
130
142
  # Align by interpolating between adjacent points around the
@@ -188,6 +200,13 @@ module Google
188
200
  # {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
189
201
  ALIGN_COUNT_TRUE = 16
190
202
 
203
+ # Align time series via aggregation. The resulting data point in
204
+ # the alignment period is the count of False-valued data points in the
205
+ # period. This alignment is valid for gauge metrics with
206
+ # Boolean values. The value type of the output is
207
+ # {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
208
+ ALIGN_COUNT_FALSE = 24
209
+
191
210
  # Align time series via aggregation. The resulting data point in
192
211
  # the alignment period is the fraction of True-valued data points in the
193
212
  # period. This alignment is valid for gauge metrics with Boolean values.
@@ -222,6 +241,23 @@ module Google
222
241
  # with distribution values. The output is a gauge metric with value type
223
242
  # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
224
243
  ALIGN_PERCENTILE_05 = 21
244
+
245
+ # Align and convert to a percentage change. This alignment is valid for
246
+ # gauge and delta metrics with numeric values. This alignment conceptually
247
+ # computes the equivalent of "((current - previous)/previous)*100"
248
+ # where previous value is determined based on the alignmentPeriod.
249
+ # In the event that previous is 0 the calculated value is infinity with the
250
+ # exception that if both (current - previous) and previous are 0 the
251
+ # calculated value is 0.
252
+ # A 10 minute moving mean is computed at each point of the time window
253
+ # prior to the above calculation to smooth the metric and prevent false
254
+ # positives from very short lived spikes.
255
+ # Only applicable for data that is >= 0. Any values < 0 are treated as
256
+ # no data. While delta metrics are accepted by this alignment special care
257
+ # should be taken that the values for the metric will always be positive.
258
+ # The output is a gauge metric with value type
259
+ # {Google::Api::MetricDescriptor::ValueType::DOUBLE DOUBLE}.
260
+ ALIGN_PERCENT_CHANGE = 23
225
261
  end
226
262
 
227
263
  # A Reducer describes how to aggregate data points from multiple
@@ -274,6 +310,12 @@ module Google
274
310
  # the output is {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
275
311
  REDUCE_COUNT_TRUE = 7
276
312
 
313
+ # Reduce by computing the count of False-valued data points across time
314
+ # series for each alignment period. This reducer is valid for delta
315
+ # and gauge metrics of Boolean value type. The value type of
316
+ # the output is {Google::Api::MetricDescriptor::ValueType::INT64 INT64}.
317
+ REDUCE_COUNT_FALSE = 15
318
+
277
319
  # Reduce by computing the fraction of True-valued data points across time
278
320
  # series for each alignment period. This reducer is valid for delta
279
321
  # and gauge metrics of Boolean value type. The output value is in the
@@ -306,6 +348,52 @@ module Google
306
348
  REDUCE_PERCENTILE_05 = 12
307
349
  end
308
350
  end
351
+
352
+ # Specifies an ordering relationship on two arguments, here called left and
353
+ # right.
354
+ module ComparisonType
355
+ # No ordering relationship is specified.
356
+ COMPARISON_UNSPECIFIED = 0
357
+
358
+ # The left argument is greater than the right argument.
359
+ COMPARISON_GT = 1
360
+
361
+ # The left argument is greater than or equal to the right argument.
362
+ COMPARISON_GE = 2
363
+
364
+ # The left argument is less than the right argument.
365
+ COMPARISON_LT = 3
366
+
367
+ # The left argument is less than or equal to the right argument.
368
+ COMPARISON_LE = 4
369
+
370
+ # The left argument is equal to the right argument.
371
+ COMPARISON_EQ = 5
372
+
373
+ # The left argument is not equal to the right argument.
374
+ COMPARISON_NE = 6
375
+ end
376
+
377
+ # The tier of service for a Stackdriver account. Please see the
378
+ # [service tiers documentation](https://cloud.google.com/monitoring/accounts/tiers)
379
+ # for more details.
380
+ module ServiceTier
381
+ # An invalid sentinel value, used to indicate that a tier has not
382
+ # been provided explicitly.
383
+ SERVICE_TIER_UNSPECIFIED = 0
384
+
385
+ # The Stackdriver Basic tier, a free tier of service that provides basic
386
+ # features, a moderate allotment of logs, and access to built-in metrics.
387
+ # A number of features are not available in this tier. For more details,
388
+ # see [the service tiers documentation](https://cloud.google.com/monitoring/accounts/tiers).
389
+ SERVICE_TIER_BASIC = 1
390
+
391
+ # The Stackdriver Premium tier, a higher, more expensive tier of service
392
+ # that provides access to all Stackdriver features, lets you use Stackdriver
393
+ # with AWS accounts, and has a larger allotments for logs and metrics. For
394
+ # more details, see [the service tiers documentation](https://cloud.google.com/monitoring/accounts/tiers).
395
+ SERVICE_TIER_PREMIUM = 2
396
+ end
309
397
  end
310
398
  end
311
399
  end