Class: Google::Apis::MonitoringV3::Aggregation

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

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_periodString

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

Returns:

  • (String)


41
42
43
# File 'generated/google/apis/monitoring_v3/classes.rb', line 41

def alignment_period
  @alignment_period
end

#cross_series_reducerString

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

Returns:

  • (String)


52
53
54
# File 'generated/google/apis/monitoring_v3/classes.rb', line 52

def cross_series_reducer
  @cross_series_reducer
end

#group_by_fieldsArray<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

Returns:

  • (Array<String>)


67
68
69
# File 'generated/google/apis/monitoring_v3/classes.rb', line 67

def group_by_fields
  @group_by_fields
end

#per_series_alignerString

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

Returns:

  • (String)


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