Class: Google::Apis::MonitoringV1::TimeSeriesFilterRatio

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/monitoring_v1/classes.rb,
generated/google/apis/monitoring_v1/representations.rb,
generated/google/apis/monitoring_v1/representations.rb

Overview

A pair of time series filters that define a ratio computation. The output time series is the pair-wise division of each aligned element from the numerator and denominator time series.

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) ⇒ TimeSeriesFilterRatio

Returns a new instance of TimeSeriesFilterRatio.



988
989
990
# File 'generated/google/apis/monitoring_v1/classes.rb', line 988

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#denominatorGoogle::Apis::MonitoringV1::RatioPart

Describes a query to build the numerator or denominator of a TimeSeriesFilterRatio. Corresponds to the JSON property denominator



946
947
948
# File 'generated/google/apis/monitoring_v1/classes.rb', line 946

def denominator
  @denominator
end

#numeratorGoogle::Apis::MonitoringV1::RatioPart

Describes a query to build the numerator or denominator of a TimeSeriesFilterRatio. Corresponds to the JSON property numerator



952
953
954
# File 'generated/google/apis/monitoring_v1/classes.rb', line 952

def numerator
  @numerator
end

#pick_time_series_filterGoogle::Apis::MonitoringV1::PickTimeSeriesFilter

Describes a ranking-based time series filter. Each input time series is ranked with an aligner. The filter will allow up to num_time_series time series to pass through it, selecting them based on the relative ranking.For example, if ranking_method is METHOD_MEAN,direction is BOTTOM, and num_time_series is 3, then the 3 times series with the lowest mean values will pass through the filter. Corresponds to the JSON property pickTimeSeriesFilter



962
963
964
# File 'generated/google/apis/monitoring_v1/classes.rb', line 962

def pick_time_series_filter
  @pick_time_series_filter
end

#secondary_aggregationGoogle::Apis::MonitoringV1::Aggregation

Describes how to combine multiple time series to provide a different view of the data. Aggregation of time series is done in two steps. First, each time series in the set is aligned to the same time interval boundaries, then the set of time series is optionally reduced in number.Alignment consists of applying the per_series_aligner operation to each time series after its data has been divided into regular alignment_period time intervals. This process takes all of the data points in an alignment period, applies a mathematical transformation such as averaging, minimum, maximum, delta, etc., and converts them into a single data point per period.Reduction is when the aligned and transformed time series can optionally be combined, reducing the number of time series through similar mathematical transformations. Reduction involves applying a cross_series_reducer to all the time series, optionally sorting the time series into subsets with group_by_fields, and applying the reducer to each subset.The raw time series data can contain a huge amount of information from multiple sources. Alignment and reduction transforms this mass of data into a more manageable and representative collection of data, for example "the 95% latency across the average of all tasks in a cluster". This representative data can be more easily graphed and comprehended, and the individual time series data is still available for later drilldown. For more details, see Aggregating Time Series. Corresponds to the JSON property secondaryAggregation



986
987
988
# File 'generated/google/apis/monitoring_v1/classes.rb', line 986

def secondary_aggregation
  @secondary_aggregation
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



993
994
995
996
997
998
# File 'generated/google/apis/monitoring_v1/classes.rb', line 993

def update!(**args)
  @denominator = args[:denominator] if args.key?(:denominator)
  @numerator = args[:numerator] if args.key?(:numerator)
  @pick_time_series_filter = args[:pick_time_series_filter] if args.key?(:pick_time_series_filter)
  @secondary_aggregation = args[:secondary_aggregation] if args.key?(:secondary_aggregation)
end