Class: Google::Apis::MonitoringV3::Aggregation
- Inherits:
-
Object
- Object
- Google::Apis::MonitoringV3::Aggregation
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/monitoring_v3/classes.rb,
generated/google/apis/monitoring_v3/representations.rb,
generated/google/apis/monitoring_v3/representations.rb
Overview
Describes how to combine multiple time series to provide different views of the data. Aggregation consists of an alignment step on individual time series ( alignment_period and per_series_aligner) followed by an optional reduction step of the data across the aligned time series (cross_series_reducer and group_by_fields). For more details, see Aggregation.
Instance Attribute Summary collapse
-
#alignment_period ⇒ String
The alignment period for per-time series alignment.
-
#cross_series_reducer ⇒ String
The approach to be used to combine time series.
-
#group_by_fields ⇒ Array<String>
The set of fields to preserve when crossSeriesReducer is specified.
-
#per_series_aligner ⇒ String
The approach to be used to align individual time series.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Aggregation
constructor
A new instance of Aggregation.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ Aggregation
Returns a new instance of Aggregation
80 81 82 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 80 def initialize(**args) update!(**args) end |
Instance Attribute Details
#alignment_period ⇒ String
The alignment period for per-time series alignment. If present,
alignmentPeriod must be at least 60 seconds. After per-time series alignment,
each time series will contain data points only on the period boundaries. If
perSeriesAligner is not specified or equals ALIGN_NONE, then this field is
ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then
this field must be defined; otherwise an error is returned.
Corresponds to the JSON property alignmentPeriod
41 42 43 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 41 def alignment_period @alignment_period end |
#cross_series_reducer ⇒ String
The approach to be used to combine time series. Not all reducer functions may
be applied to all time series, depending on the metric type and the value type
of the original time series. Reduction may change the metric type of value
type of the time series.Time series data must be aligned in order to perform
cross-time series reduction. If crossSeriesReducer is specified, then
perSeriesAligner must be specified and not equal ALIGN_NONE and
alignmentPeriod must be specified; otherwise, an error is returned.
Corresponds to the JSON property crossSeriesReducer
52 53 54 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 52 def cross_series_reducer @cross_series_reducer end |
#group_by_fields ⇒ Array<String>
The set of fields to preserve when crossSeriesReducer is specified. The
groupByFields determine how the time series are partitioned into subsets prior
to applying the aggregation function. Each subset contains time series that
have the same value for each of the grouping fields. Each individual time
series is a member of exactly one subset. The crossSeriesReducer is applied to
each subset of time series. It is not possible to reduce across different
resource types, so this field implicitly contains resource.type. Fields not
specified in groupByFields are aggregated away. If groupByFields is not
specified and all the time series have the same resource type, then the time
series are aggregated into a single output time series. If crossSeriesReducer
is not defined, this field is ignored.
Corresponds to the JSON property groupByFields
67 68 69 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 67 def group_by_fields @group_by_fields end |
#per_series_aligner ⇒ String
The approach to be used to align individual time series. Not all alignment
functions may be applied to all time series, depending on the metric type and
value type of the original time series. Alignment may change the metric type
or the value type of the time series.Time series data must be aligned in order
to perform cross-time series reduction. If crossSeriesReducer is specified,
then perSeriesAligner must be specified and not equal ALIGN_NONE and
alignmentPeriod must be specified; otherwise, an error is returned.
Corresponds to the JSON property perSeriesAligner
78 79 80 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 78 def per_series_aligner @per_series_aligner end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
85 86 87 88 89 90 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 85 def update!(**args) @alignment_period = args[:alignment_period] if args.key?(:alignment_period) @cross_series_reducer = args[:cross_series_reducer] if args.key?(:cross_series_reducer) @group_by_fields = args[:group_by_fields] if args.key?(:group_by_fields) @per_series_aligner = args[:per_series_aligner] if args.key?(:per_series_aligner) end |