google-cloud-monitoring 0.21.0 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,41 @@
1
+ # Copyright 2016 Google Inc. All rights reserved.
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
+ # http://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 Api
17
+ # A description of a label.
18
+ # @!attribute [rw] key
19
+ # @return [String]
20
+ # The label key.
21
+ # @!attribute [rw] value_type
22
+ # @return [Google::Api::LabelDescriptor::ValueType]
23
+ # The type of data that can be assigned to the label.
24
+ # @!attribute [rw] description
25
+ # @return [String]
26
+ # A human-readable description for the label.
27
+ class LabelDescriptor
28
+ # Value types that can be used as label values.
29
+ module ValueType
30
+ # A variable-length string. This is the default.
31
+ STRING = 0
32
+
33
+ # Boolean; true or false.
34
+ BOOL = 1
35
+
36
+ # A 64-bit signed integer.
37
+ INT64 = 2
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,187 @@
1
+ # Copyright 2016 Google Inc. All rights reserved.
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
+ # http://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 Api
17
+ # Defines a metric type and its schema. Once a metric descriptor is created,
18
+ # deleting or altering it stops data collection and makes the metric type's
19
+ # existing data unusable.
20
+ # @!attribute [rw] name
21
+ # @return [String]
22
+ # The resource name of the metric descriptor. Depending on the
23
+ # implementation, the name typically includes: (1) the parent resource name
24
+ # that defines the scope of the metric type or of its data; and (2) the
25
+ # metric's URL-encoded type, which also appears in the +type+ field of this
26
+ # descriptor. For example, following is the resource name of a custom
27
+ # metric within the GCP project 123456789:
28
+ #
29
+ # "projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
30
+ # @!attribute [rw] type
31
+ # @return [String]
32
+ # The metric type, including its DNS name prefix. The type is not
33
+ # URL-encoded. All user-defined metric types have the DNS name
34
+ # +custom.googleapis.com+. Metric types should use a natural hierarchical
35
+ # grouping. For example:
36
+ #
37
+ # "custom.googleapis.com/invoice/paid/amount"
38
+ # "appengine.googleapis.com/http/server/response_latencies"
39
+ # @!attribute [rw] labels
40
+ # @return [Array<Google::Api::LabelDescriptor>]
41
+ # The set of labels that can be used to describe a specific
42
+ # instance of this metric type. For example, the
43
+ # +appengine.googleapis.com/http/server/response_latencies+ metric
44
+ # type has a label for the HTTP response code, +response_code+, so
45
+ # you can look at latencies for successful responses or just
46
+ # for responses that failed.
47
+ # @!attribute [rw] metric_kind
48
+ # @return [Google::Api::MetricDescriptor::MetricKind]
49
+ # Whether the metric records instantaneous values, changes to a value, etc.
50
+ # Some combinations of +metric_kind+ and +value_type+ might not be supported.
51
+ # @!attribute [rw] value_type
52
+ # @return [Google::Api::MetricDescriptor::ValueType]
53
+ # Whether the measurement is an integer, a floating-point number, etc.
54
+ # Some combinations of +metric_kind+ and +value_type+ might not be supported.
55
+ # @!attribute [rw] unit
56
+ # @return [String]
57
+ # The unit in which the metric value is reported. It is only applicable
58
+ # if the +value_type+ is +INT64+, +DOUBLE+, or +DISTRIBUTION+. The
59
+ # supported units are a subset of {The Unified Code for Units of
60
+ # Measure}[http://unitsofmeasure.org/ucum.html] standard:
61
+ #
62
+ # **Basic units (UNIT)**
63
+ #
64
+ # * +bit+ bit
65
+ # * +By+ byte
66
+ # * +s+ second
67
+ # * +min+ minute
68
+ # * +h+ hour
69
+ # * +d+ day
70
+ #
71
+ # **Prefixes (PREFIX)**
72
+ #
73
+ # * +k+ kilo (10**3)
74
+ # * +M+ mega (10**6)
75
+ # * +G+ giga (10**9)
76
+ # * +T+ tera (10**12)
77
+ # * +P+ peta (10**15)
78
+ # * +E+ exa (10**18)
79
+ # * +Z+ zetta (10**21)
80
+ # * +Y+ yotta (10**24)
81
+ # * +m+ milli (10**-3)
82
+ # * +u+ micro (10**-6)
83
+ # * +n+ nano (10**-9)
84
+ # * +p+ pico (10**-12)
85
+ # * +f+ femto (10**-15)
86
+ # * +a+ atto (10**-18)
87
+ # * +z+ zepto (10**-21)
88
+ # * +y+ yocto (10**-24)
89
+ # * +Ki+ kibi (2**10)
90
+ # * +Mi+ mebi (2**20)
91
+ # * +Gi+ gibi (2**30)
92
+ # * +Ti+ tebi (2**40)
93
+ #
94
+ # **Grammar**
95
+ #
96
+ # The grammar includes the dimensionless unit +1+, such as +1/s+.
97
+ #
98
+ # The grammar also includes these connectors:
99
+ #
100
+ # * +/+ division (as an infix operator, e.g. +1/s+).
101
+ # * +.+ multiplication (as an infix operator, e.g. +GBy.d+)
102
+ #
103
+ # The grammar for a unit is as follows:
104
+ #
105
+ # Expression = Component { "." Component } { "/" Component } ;
106
+ #
107
+ # Component = [ PREFIX ] UNIT [ Annotation ]
108
+ # | Annotation
109
+ # | "1"
110
+ # ;
111
+ #
112
+ # Annotation = "{" NAME "}" ;
113
+ #
114
+ # Notes:
115
+ #
116
+ # * +Annotation+ is just a comment if it follows a +UNIT+ and is
117
+ # equivalent to +1+ if it is used alone. For examples,
118
+ # +{requests}/s == 1/s+, +By{transmitted}/s == By/s+.
119
+ # * +NAME+ is a sequence of non-blank printable ASCII characters not
120
+ # containing '{' or '}'.
121
+ # @!attribute [rw] description
122
+ # @return [String]
123
+ # A detailed description of the metric, which can be used in documentation.
124
+ # @!attribute [rw] display_name
125
+ # @return [String]
126
+ # A concise name for the metric, which can be displayed in user interfaces.
127
+ # Use sentence case without an ending period, for example "Request count".
128
+ class MetricDescriptor
129
+ # The kind of measurement. It describes how the data is reported.
130
+ module MetricKind
131
+ # Do not use this default value.
132
+ METRIC_KIND_UNSPECIFIED = 0
133
+
134
+ # An instantaneous measurement of a value.
135
+ GAUGE = 1
136
+
137
+ # The change in a value during a time interval.
138
+ DELTA = 2
139
+
140
+ # A value accumulated over a time interval. Cumulative
141
+ # measurements in a time series should have the same start time
142
+ # and increasing end times, until an event resets the cumulative
143
+ # value to zero and sets a new start time for the following
144
+ # points.
145
+ CUMULATIVE = 3
146
+ end
147
+
148
+ # The value type of a metric.
149
+ module ValueType
150
+ # Do not use this default value.
151
+ VALUE_TYPE_UNSPECIFIED = 0
152
+
153
+ # The value is a boolean.
154
+ # This value type can be used only if the metric kind is +GAUGE+.
155
+ BOOL = 1
156
+
157
+ # The value is a signed 64-bit integer.
158
+ INT64 = 2
159
+
160
+ # The value is a double precision floating point number.
161
+ DOUBLE = 3
162
+
163
+ # The value is a text string.
164
+ # This value type can be used only if the metric kind is +GAUGE+.
165
+ STRING = 4
166
+
167
+ # The value is a +Distribution+.
168
+ DISTRIBUTION = 5
169
+
170
+ # The value is money.
171
+ MONEY = 6
172
+ end
173
+ end
174
+
175
+ # A specific metric, identified by specifying values for all of the
176
+ # labels of a +MetricDescriptor+.
177
+ # @!attribute [rw] type
178
+ # @return [String]
179
+ # An existing metric type, see Google::Api::MetricDescriptor.
180
+ # For example, +custom.googleapis.com/invoice/paid/amount+.
181
+ # @!attribute [rw] labels
182
+ # @return [Hash{String => String}]
183
+ # The set of label values that uniquely identify this metric. All
184
+ # labels listed in the +MetricDescriptor+ must be assigned values.
185
+ class Metric; end
186
+ end
187
+ end
@@ -0,0 +1,81 @@
1
+ # Copyright 2016 Google Inc. All rights reserved.
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
+ # http://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 Api
17
+ # An object that describes the schema of a MonitoredResource object using a
18
+ # type name and a set of labels. For example, the monitored resource
19
+ # descriptor for Google Compute Engine VM instances has a type of
20
+ # +"gce_instance"+ and specifies the use of the labels +"instance_id"+ and
21
+ # +"zone"+ to identify particular VM instances.
22
+ #
23
+ # Different APIs can support different monitored resource types. APIs generally
24
+ # provide a +list+ method that returns the monitored resource descriptors used
25
+ # by the API.
26
+ # @!attribute [rw] name
27
+ # @return [String]
28
+ # Optional. The resource name of the monitored resource descriptor:
29
+ # +"projects/{project_id}/monitoredResourceDescriptors/{type}"+ where
30
+ # {type} is the value of the +type+ field in this object and
31
+ # {project_id} is a project ID that provides API-specific context for
32
+ # accessing the type. APIs that do not use project information can use the
33
+ # resource name format +"monitoredResourceDescriptors/{type}"+.
34
+ # @!attribute [rw] type
35
+ # @return [String]
36
+ # Required. The monitored resource type. For example, the type
37
+ # +"cloudsql_database"+ represents databases in Google Cloud SQL.
38
+ # The maximum length of this value is 256 characters.
39
+ # @!attribute [rw] display_name
40
+ # @return [String]
41
+ # Optional. A concise name for the monitored resource type that might be
42
+ # displayed in user interfaces. It should be a Title Cased Noun Phrase,
43
+ # without any article or other determiners. For example,
44
+ # +"Google Cloud SQL Database"+.
45
+ # @!attribute [rw] description
46
+ # @return [String]
47
+ # Optional. A detailed description of the monitored resource type that might
48
+ # be used in documentation.
49
+ # @!attribute [rw] labels
50
+ # @return [Array<Google::Api::LabelDescriptor>]
51
+ # Required. A set of labels used to describe instances of this monitored
52
+ # resource type. For example, an individual Google Cloud SQL database is
53
+ # identified by values for the labels +"database_id"+ and +"zone"+.
54
+ class MonitoredResourceDescriptor; end
55
+
56
+ # An object representing a resource that can be used for monitoring, logging,
57
+ # billing, or other purposes. Examples include virtual machine instances,
58
+ # databases, and storage devices such as disks. The +type+ field identifies a
59
+ # MonitoredResourceDescriptor object that describes the resource's
60
+ # schema. Information in the +labels+ field identifies the actual resource and
61
+ # its attributes according to the schema. For example, a particular Compute
62
+ # Engine VM instance could be represented by the following object, because the
63
+ # MonitoredResourceDescriptor for +"gce_instance"+ has labels
64
+ # +"instance_id"+ and +"zone"+:
65
+ #
66
+ # { "type": "gce_instance",
67
+ # "labels": { "instance_id": "12345678901234",
68
+ # "zone": "us-central1-a" }}
69
+ # @!attribute [rw] type
70
+ # @return [String]
71
+ # Required. The monitored resource type. This field must match
72
+ # the +type+ field of a MonitoredResourceDescriptor object. For
73
+ # example, the type of a Cloud SQL database is +"cloudsql_database"+.
74
+ # @!attribute [rw] labels
75
+ # @return [Hash{String => String}]
76
+ # Required. Values for all of the labels listed in the associated monitored
77
+ # resource descriptor. For example, Cloud SQL databases use the labels
78
+ # +"database_id"+ and +"zone"+.
79
+ class MonitoredResource; end
80
+ end
81
+ end
@@ -0,0 +1,322 @@
1
+ # Copyright 2016 Google Inc. All rights reserved.
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
+ # http://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
+ ##
18
+ # The `Google::Monitoring::V3` module provides the following types:
19
+ #
20
+ # Class | Description
21
+ # ----- | -----------
22
+ # {Google::Monitoring::V3::Group} | The description of a dynamic collection of monitored resources.
23
+ # {Google::Monitoring::V3::Point} | A single data point in a time series.
24
+ # {Google::Monitoring::V3::TimeInterval} | A time interval extending just after a start time through an end time.
25
+ # {Google::Monitoring::V3::TimeSeries} | A collection of data points that describes the time-varying values of a metric.
26
+ # {Google::Monitoring::V3::TypedValue} | A single strongly-typed value.
27
+ #
28
+ module V3
29
+ # A single strongly-typed value.
30
+ # @!attribute [rw] bool_value
31
+ # @return [true, false]
32
+ # A Boolean value: +true+ or +false+.
33
+ # @!attribute [rw] int64_value
34
+ # @return [Integer]
35
+ # A 64-bit integer. Its range is approximately &plusmn;9.2x10<sup>18</sup>.
36
+ # @!attribute [rw] double_value
37
+ # @return [Float]
38
+ # A 64-bit double-precision floating-point number. Its magnitude
39
+ # is approximately &plusmn;10<sup>&plusmn;300</sup> and it has 16
40
+ # significant digits of precision.
41
+ # @!attribute [rw] string_value
42
+ # @return [String]
43
+ # A variable-length string value.
44
+ # @!attribute [rw] distribution_value
45
+ # @return [Google::Api::Distribution]
46
+ # A distribution value.
47
+ class TypedValue; end
48
+
49
+ # A time interval extending just after a start time through an end time.
50
+ # If the start time is the same as the end time, then the interval
51
+ # represents a single point in time.
52
+ # @!attribute [rw] end_time
53
+ # @return [Google::Protobuf::Timestamp]
54
+ # Required. The end of the time interval.
55
+ # @!attribute [rw] start_time
56
+ # @return [Google::Protobuf::Timestamp]
57
+ # Optional. The beginning of the time interval. The default value
58
+ # for the start time is the end time. The start time must not be
59
+ # later than the end time.
60
+ class TimeInterval; end
61
+
62
+ # Describes how to combine multiple time series to provide different views of
63
+ # the data. Aggregation consists of an alignment step on individual time
64
+ # series (+per_series_aligner+) followed by an optional reduction of the data
65
+ # across different time series (+cross_series_reducer+). For more details, see
66
+ # {Aggregation}[https://cloud.google.com/monitoring/api/learn_more#aggregation].
67
+ # @!attribute [rw] alignment_period
68
+ # @return [Google::Protobuf::Duration]
69
+ # The alignment period for per-Time series
70
+ # alignment. If present, +alignmentPeriod+ must be at least 60
71
+ # seconds. After per-time series alignment, each time series will
72
+ # contain data points only on the period boundaries. If
73
+ # +perSeriesAligner+ is not specified or equals +ALIGN_NONE+, then
74
+ # this field is ignored. If +perSeriesAligner+ is specified and
75
+ # does not equal +ALIGN_NONE+, then this field must be defined;
76
+ # otherwise an error is returned.
77
+ # @!attribute [rw] per_series_aligner
78
+ # @return [Google::Monitoring::V3::Aggregation::Aligner]
79
+ # The approach to be used to align individual time series. Not all
80
+ # alignment functions may be applied to all time series, depending
81
+ # on the metric type and value type of the original time
82
+ # series. Alignment may change the metric type or the value type of
83
+ # the time series.
84
+ #
85
+ # Time series data must be aligned in order to perform cross-time
86
+ # series reduction. If +crossSeriesReducer+ is specified, then
87
+ # +perSeriesAligner+ must be specified and not equal +ALIGN_NONE+
88
+ # and +alignmentPeriod+ must be specified; otherwise, an error is
89
+ # returned.
90
+ # @!attribute [rw] cross_series_reducer
91
+ # @return [Google::Monitoring::V3::Aggregation::Reducer]
92
+ # The approach to be used to combine time series. Not all reducer
93
+ # functions may be applied to all time series, depending on the
94
+ # metric type and the value type of the original time
95
+ # series. Reduction may change the metric type of value type of the
96
+ # time series.
97
+ #
98
+ # Time series data must be aligned in order to perform cross-time
99
+ # series reduction. If +crossSeriesReducer+ is specified, then
100
+ # +perSeriesAligner+ must be specified and not equal +ALIGN_NONE+
101
+ # and +alignmentPeriod+ must be specified; otherwise, an error is
102
+ # returned.
103
+ # @!attribute [rw] group_by_fields
104
+ # @return [Array<String>]
105
+ # The set of fields to preserve when +crossSeriesReducer+ is
106
+ # specified. The +groupByFields+ determine how the time series are
107
+ # partitioned into subsets prior to applying the aggregation
108
+ # function. Each subset contains time series that have the same
109
+ # value for each of the grouping fields. Each individual time
110
+ # series is a member of exactly one subset. The
111
+ # +crossSeriesReducer+ is applied to each subset of time series.
112
+ # It is not possible to reduce across different resource types, so
113
+ # this field implicitly contains +resource.type+. Fields not
114
+ # specified in +groupByFields+ are aggregated away. If
115
+ # +groupByFields+ is not specified and all the time series have
116
+ # the same resource type, then the time series are aggregated into
117
+ # a single output time series. If +crossSeriesReducer+ is not
118
+ # defined, this field is ignored.
119
+ class Aggregation
120
+ # The Aligner describes how to bring the data points in a single
121
+ # time series into temporal alignment.
122
+ module Aligner
123
+ # No alignment. Raw data is returned. Not valid if cross-time
124
+ # series reduction is requested. The value type of the result is
125
+ # the same as the value type of the input.
126
+ ALIGN_NONE = 0
127
+
128
+ # Align and convert to delta metric type. This alignment is valid
129
+ # for cumulative metrics and delta metrics. Aligning an existing
130
+ # delta metric to a delta metric requires that the alignment
131
+ # period be increased. The value type of the result is the same
132
+ # as the value type of the input.
133
+ ALIGN_DELTA = 1
134
+
135
+ # Align and convert to a rate. This alignment is valid for
136
+ # cumulative metrics and delta metrics with numeric values. The output is a
137
+ # gauge metric with value type
138
+ # DOUBLE.
139
+ ALIGN_RATE = 2
140
+
141
+ # Align by interpolating between adjacent points around the
142
+ # period boundary. This alignment is valid for gauge
143
+ # metrics with numeric values. The value type of the result is the same
144
+ # as the value type of the input.
145
+ ALIGN_INTERPOLATE = 3
146
+
147
+ # Align by shifting the oldest data point before the period
148
+ # boundary to the boundary. This alignment is valid for gauge
149
+ # metrics. The value type of the result is the same as the
150
+ # value type of the input.
151
+ ALIGN_NEXT_OLDER = 4
152
+
153
+ # Align time series via aggregation. The resulting data point in
154
+ # the alignment period is the minimum of all data points in the
155
+ # period. This alignment is valid for gauge and delta metrics with numeric
156
+ # values. The value type of the result is the same as the value
157
+ # type of the input.
158
+ ALIGN_MIN = 10
159
+
160
+ # Align time series via aggregation. The resulting data point in
161
+ # the alignment period is the maximum of all data points in the
162
+ # period. This alignment is valid for gauge and delta metrics with numeric
163
+ # values. The value type of the result is the same as the value
164
+ # type of the input.
165
+ ALIGN_MAX = 11
166
+
167
+ # Align time series via aggregation. The resulting data point in
168
+ # the alignment period is the average or arithmetic mean of all
169
+ # data points in the period. This alignment is valid for gauge and delta
170
+ # metrics with numeric values. The value type of the output is
171
+ # DOUBLE.
172
+ ALIGN_MEAN = 12
173
+
174
+ # Align time series via aggregation. The resulting data point in
175
+ # the alignment period is the count of all data points in the
176
+ # period. This alignment is valid for gauge and delta metrics with numeric
177
+ # or Boolean values. The value type of the output is
178
+ # INT64.
179
+ ALIGN_COUNT = 13
180
+
181
+ # Align time series via aggregation. The resulting data point in
182
+ # the alignment period is the sum of all data points in the
183
+ # period. This alignment is valid for gauge and delta metrics with numeric
184
+ # and distribution values. The value type of the output is the
185
+ # same as the value type of the input.
186
+ ALIGN_SUM = 14
187
+
188
+ # Align time series via aggregation. The resulting data point in
189
+ # the alignment period is the standard deviation of all data
190
+ # points in the period. This alignment is valid for gauge and delta metrics
191
+ # with numeric values. The value type of the output is
192
+ # DOUBLE.
193
+ ALIGN_STDDEV = 15
194
+
195
+ # Align time series via aggregation. The resulting data point in
196
+ # the alignment period is the count of True-valued data points in the
197
+ # period. This alignment is valid for gauge metrics with
198
+ # Boolean values. The value type of the output is
199
+ # INT64.
200
+ ALIGN_COUNT_TRUE = 16
201
+
202
+ # Align time series via aggregation. The resulting data point in
203
+ # the alignment period is the fraction of True-valued data points in the
204
+ # period. This alignment is valid for gauge metrics with Boolean values.
205
+ # The output value is in the range [0, 1] and has value type
206
+ # DOUBLE.
207
+ ALIGN_FRACTION_TRUE = 17
208
+
209
+ # Align time series via aggregation. The resulting data point in
210
+ # the alignment period is the 99th percentile of all data
211
+ # points in the period. This alignment is valid for gauge and delta metrics
212
+ # with distribution values. The output is a gauge metric with value type
213
+ # DOUBLE.
214
+ ALIGN_PERCENTILE_99 = 18
215
+
216
+ # Align time series via aggregation. The resulting data point in
217
+ # the alignment period is the 95th percentile of all data
218
+ # points in the period. This alignment is valid for gauge and delta metrics
219
+ # with distribution values. The output is a gauge metric with value type
220
+ # DOUBLE.
221
+ ALIGN_PERCENTILE_95 = 19
222
+
223
+ # Align time series via aggregation. The resulting data point in
224
+ # the alignment period is the 50th percentile of all data
225
+ # points in the period. This alignment is valid for gauge and delta metrics
226
+ # with distribution values. The output is a gauge metric with value type
227
+ # DOUBLE.
228
+ ALIGN_PERCENTILE_50 = 20
229
+
230
+ # Align time series via aggregation. The resulting data point in
231
+ # the alignment period is the 5th percentile of all data
232
+ # points in the period. This alignment is valid for gauge and delta metrics
233
+ # with distribution values. The output is a gauge metric with value type
234
+ # DOUBLE.
235
+ ALIGN_PERCENTILE_05 = 21
236
+ end
237
+
238
+ # A Reducer describes how to aggregate data points from multiple
239
+ # time series into a single time series.
240
+ module Reducer
241
+ # No cross-time series reduction. The output of the aligner is
242
+ # returned.
243
+ REDUCE_NONE = 0
244
+
245
+ # Reduce by computing the mean across time series for each
246
+ # alignment period. This reducer is valid for delta and
247
+ # gauge metrics with numeric or distribution values. The value type of the
248
+ # output is DOUBLE.
249
+ REDUCE_MEAN = 1
250
+
251
+ # Reduce by computing the minimum across time series for each
252
+ # alignment period. This reducer is valid for delta and
253
+ # gauge metrics with numeric values. The value type of the output
254
+ # is the same as the value type of the input.
255
+ REDUCE_MIN = 2
256
+
257
+ # Reduce by computing the maximum across time series for each
258
+ # alignment period. This reducer is valid for delta and
259
+ # gauge metrics with numeric values. The value type of the output
260
+ # is the same as the value type of the input.
261
+ REDUCE_MAX = 3
262
+
263
+ # Reduce by computing the sum across time series for each
264
+ # alignment period. This reducer is valid for delta and
265
+ # gauge metrics with numeric and distribution values. The value type of
266
+ # the output is the same as the value type of the input.
267
+ REDUCE_SUM = 4
268
+
269
+ # Reduce by computing the standard deviation across time series
270
+ # for each alignment period. This reducer is valid for delta
271
+ # and gauge metrics with numeric or distribution values. The value type of
272
+ # the output is DOUBLE.
273
+ REDUCE_STDDEV = 5
274
+
275
+ # Reduce by computing the count of data points across time series
276
+ # for each alignment period. This reducer is valid for delta
277
+ # and gauge metrics of numeric, Boolean, distribution, and string value
278
+ # type. The value type of the output is
279
+ # INT64.
280
+ REDUCE_COUNT = 6
281
+
282
+ # Reduce by computing the count of True-valued data points across time
283
+ # series for each alignment period. This reducer is valid for delta
284
+ # and gauge metrics of Boolean value type. The value type of
285
+ # the output is INT64.
286
+ REDUCE_COUNT_TRUE = 7
287
+
288
+ # Reduce by computing the fraction of True-valued data points across time
289
+ # series for each alignment period. This reducer is valid for delta
290
+ # and gauge metrics of Boolean value type. The output value is in the
291
+ # range [0, 1] and has value type
292
+ # DOUBLE.
293
+ REDUCE_FRACTION_TRUE = 8
294
+
295
+ # Reduce by computing 99th percentile of data points across time series
296
+ # for each alignment period. This reducer is valid for gauge and delta
297
+ # metrics of numeric and distribution type. The value of the output is
298
+ # DOUBLE
299
+ REDUCE_PERCENTILE_99 = 9
300
+
301
+ # Reduce by computing 95th percentile of data points across time series
302
+ # for each alignment period. This reducer is valid for gauge and delta
303
+ # metrics of numeric and distribution type. The value of the output is
304
+ # DOUBLE
305
+ REDUCE_PERCENTILE_95 = 10
306
+
307
+ # Reduce by computing 50th percentile of data points across time series
308
+ # for each alignment period. This reducer is valid for gauge and delta
309
+ # metrics of numeric and distribution type. The value of the output is
310
+ # DOUBLE
311
+ REDUCE_PERCENTILE_50 = 11
312
+
313
+ # Reduce by computing 5th percentile of data points across time series
314
+ # for each alignment period. This reducer is valid for gauge and delta
315
+ # metrics of numeric and distribution type. The value of the output is
316
+ # DOUBLE
317
+ REDUCE_PERCENTILE_05 = 12
318
+ end
319
+ end
320
+ end
321
+ end
322
+ end