Class: Google::Apis::MonitoringV3::MetricThreshold

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

Overview

A condition type that compares a collection of time series against a threshold.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MetricThreshold

Returns a new instance of MetricThreshold.



3082
3083
3084
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3082

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

Instance Attribute Details

#aggregationsArray<Google::Apis::MonitoringV3::Aggregation>

Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the ListTimeSeries request (https://cloud.google.com/monitoring/api/ ref_v3/rest/v3/projects.timeSeries/list). It is advisable to use the ListTimeSeries method when debugging this field. Corresponds to the JSON property aggregations



3000
3001
3002
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3000

def aggregations
  @aggregations
end

#comparisonString

The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). The comparison is applied on each time series, with the time series on the left-hand side and the threshold on the right-hand side.Only COMPARISON_LT and COMPARISON_GT are supported currently. Corresponds to the JSON property comparison

Returns:

  • (String)


3009
3010
3011
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3009

def comparison
  @comparison
end

#denominator_aggregationsArray<Google::Apis::MonitoringV3::Aggregation>

Specifies the alignment of data points in individual time series selected by denominatorFilter as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources).When computing ratios, the aggregations and denominator_aggregations fields must use the same alignment period and produce time series that have the same periodicity and labels. Corresponds to the JSON property denominatorAggregations



3020
3021
3022
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3020

def denominator_aggregations
  @denominator_aggregations
end

#denominator_filterString

A filter (https://cloud.google.com/monitoring/api/v3/filters) that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. If a denominator_filter is specified, the time series specified by the filter field will be used as the numerator.The filter must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length. Corresponds to the JSON property denominatorFilter

Returns:

  • (String)


3031
3032
3033
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3031

def denominator_filter
  @denominator_filter
end

#durationString

The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e. g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly. Corresponds to the JSON property duration

Returns:

  • (String)


3044
3045
3046
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3044

def duration
  @duration
end

#evaluation_missing_dataString

A condition control that determines how metric-threshold conditions are evaluated when data stops arriving. To use this control, the value of the duration field must be greater than or equal to 60 seconds. Corresponds to the JSON property evaluationMissingData

Returns:

  • (String)


3051
3052
3053
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3051

def evaluation_missing_data
  @evaluation_missing_data
end

#filterString

Required. A filter (https://cloud.google.com/monitoring/api/v3/filters) that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the ListTimeSeries request (https:// cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) (that call is useful to verify the time series that will be retrieved / processed). The filter must specify the metric type and the resource type. Optionally, it can specify resource labels and metric labels. This field must not exceed 2048 Unicode characters in length. Corresponds to the JSON property filter

Returns:

  • (String)


3063
3064
3065
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3063

def filter
  @filter
end

#forecast_optionsGoogle::Apis::MonitoringV3::ForecastOptions

Options used when forecasting the time series and testing the predicted value against the threshold. Corresponds to the JSON property forecastOptions



3069
3070
3071
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3069

def forecast_options
  @forecast_options
end

#threshold_valueFloat

A value against which to compare the time series. Corresponds to the JSON property thresholdValue

Returns:

  • (Float)


3074
3075
3076
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3074

def threshold_value
  @threshold_value
end

#triggerGoogle::Apis::MonitoringV3::Trigger

Specifies how many time series must fail a predicate to trigger a condition. If not specified, then a count: 1 trigger is used. Corresponds to the JSON property trigger



3080
3081
3082
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3080

def trigger
  @trigger
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3087

def update!(**args)
  @aggregations = args[:aggregations] if args.key?(:aggregations)
  @comparison = args[:comparison] if args.key?(:comparison)
  @denominator_aggregations = args[:denominator_aggregations] if args.key?(:denominator_aggregations)
  @denominator_filter = args[:denominator_filter] if args.key?(:denominator_filter)
  @duration = args[:duration] if args.key?(:duration)
  @evaluation_missing_data = args[:evaluation_missing_data] if args.key?(:evaluation_missing_data)
  @filter = args[:filter] if args.key?(:filter)
  @forecast_options = args[:forecast_options] if args.key?(:forecast_options)
  @threshold_value = args[:threshold_value] if args.key?(:threshold_value)
  @trigger = args[:trigger] if args.key?(:trigger)
end