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.
- 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
|