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.
- checksums.yaml +4 -4
- data/.yardopts +8 -0
- data/LICENSE +201 -0
- data/README.md +2 -2
- data/lib/google-cloud-monitoring.rb +24 -0
- data/lib/google/cloud/monitoring/v3.rb +2 -2
- data/lib/google/cloud/monitoring/v3/doc/google/api/distribution.rb +172 -0
- data/lib/google/cloud/monitoring/v3/doc/google/api/label.rb +41 -0
- data/lib/google/cloud/monitoring/v3/doc/google/api/metric.rb +187 -0
- data/lib/google/cloud/monitoring/v3/doc/google/api/monitored_resource.rb +81 -0
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/common.rb +322 -0
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/group.rb +69 -0
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/metric.rb +78 -0
- data/lib/google/cloud/monitoring/v3/doc/google/protobuf/duration.rb +71 -0
- data/lib/google/cloud/monitoring/v3/doc/google/protobuf/timestamp.rb +83 -0
- data/lib/google/cloud/monitoring/v3/{group_service_api.rb → group_service_client.rb} +63 -57
- data/lib/google/cloud/monitoring/v3/{metric_service_api.rb → metric_service_client.rb} +77 -70
- metadata +37 -39
- data/Rakefile +0 -70
@@ -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 ±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 ±10<sup>±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
|