class Google::Apis::ComputeV1::OutlierDetection

Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service.

Attributes

base_ejection_time[RW]

A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like “day” or “month”. Range is approximately 10, 000 years. Corresponds to the JSON property `baseEjectionTime` @return [Google::Apis::ComputeV1::Duration]

consecutive_errors[RW]

Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Corresponds to the JSON property `consecutiveErrors` @return [Fixnum]

consecutive_gateway_failure[RW]

The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Corresponds to the JSON property `consecutiveGatewayFailure` @return [Fixnum]

enforcing_consecutive_errors[RW]

The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Corresponds to the JSON property `enforcingConsecutiveErrors` @return [Fixnum]

enforcing_consecutive_gateway_failure[RW]

The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Corresponds to the JSON property `enforcingConsecutiveGatewayFailure` @return [Fixnum]

enforcing_success_rate[RW]

The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Corresponds to the JSON property `enforcingSuccessRate` @return [Fixnum]

interval[RW]

A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like “day” or “month”. Range is approximately 10, 000 years. Corresponds to the JSON property `interval` @return [Google::Apis::ComputeV1::Duration]

max_ejection_percent[RW]

Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%. Corresponds to the JSON property `maxEjectionPercent` @return [Fixnum]

success_rate_minimum_hosts[RW]

The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. Corresponds to the JSON property `successRateMinimumHosts` @return [Fixnum]

success_rate_request_volume[RW]

The minimum number of total requests that must be collected in one interval ( as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. Corresponds to the JSON property `successRateRequestVolume` @return [Fixnum]

success_rate_stdev_factor[RW]

This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. Corresponds to the JSON property `successRateStdevFactor` @return [Fixnum]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/compute_v1/classes.rb, line 22286
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/compute_v1/classes.rb, line 22291
def update!(**args)
  @base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time)
  @consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors)
  @consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure)
  @enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors)
  @enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure)
  @enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate)
  @interval = args[:interval] if args.key?(:interval)
  @max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent)
  @success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts)
  @success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume)
  @success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor)
end