google-cloud-monitoring 0.21.0 → 0.22.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.
@@ -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