cluster

package
v1.19.0-beta11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2025 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_external_envoy_api_v2_cluster_outlier_detection_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type OutlierDetection

type OutlierDetection struct {

	// The number of consecutive 5xx responses or local origin errors that are mapped
	// to 5xx error codes before a consecutive 5xx ejection
	// occurs. Defaults to 5.
	Consecutive_5Xx *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_5xx,json=consecutive5xx,proto3" json:"consecutive_5xx,omitempty"`
	// The time interval between ejection analysis sweeps. This can result in
	// both new ejections as well as hosts being returned to service. Defaults
	// to 10000ms or 10s.
	Interval *durationpb.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
	// The base time that a host is ejected for. The real time is equal to the
	// base time multiplied by the number of times the host has been ejected.
	// Defaults to 30000ms or 30s.
	BaseEjectionTime *durationpb.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
	// The maximum % of an upstream cluster that can be ejected due to outlier
	// detection. Defaults to 10% but will eject at least one host regardless of the value.
	MaxEjectionPercent *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
	// The % 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 100.
	EnforcingConsecutive_5Xx *wrapperspb.UInt32Value `` /* 132-byte string literal not displayed */
	// The % 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.
	EnforcingSuccessRate *wrapperspb.UInt32Value `protobuf:"bytes,6,opt,name=enforcing_success_rate,json=enforcingSuccessRate,proto3" json:"enforcing_success_rate,omitempty"`
	// 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.
	SuccessRateMinimumHosts *wrapperspb.UInt32Value `` /* 134-byte string literal not displayed */
	// 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.
	SuccessRateRequestVolume *wrapperspb.UInt32Value `` /* 137-byte string literal not displayed */
	// 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.
	SuccessRateStdevFactor *wrapperspb.UInt32Value `` /* 131-byte string literal not displayed */
	// The number of consecutive gateway failures (502, 503, 504 status codes)
	// before a consecutive gateway failure ejection occurs. Defaults to 5.
	ConsecutiveGatewayFailure *wrapperspb.UInt32Value `` /* 139-byte string literal not displayed */
	// The % 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 0.
	EnforcingConsecutiveGatewayFailure *wrapperspb.UInt32Value `` /* 168-byte string literal not displayed */
	// Determines whether to distinguish local origin failures from external errors. If set to true
	// the following configuration parameters are taken into account:
	// `consecutive_local_origin_failure (envoy_api_field_cluster.OutlierDetection.consecutive_local_origin_failure)`,
	// `enforcing_consecutive_local_origin_failure (envoy_api_field_cluster.OutlierDetection.enforcing_consecutive_local_origin_failure)`
	// and
	// `enforcing_local_origin_success_rate (envoy_api_field_cluster.OutlierDetection.enforcing_local_origin_success_rate)`.
	// Defaults to false.
	SplitExternalLocalOriginErrors bool `` /* 159-byte string literal not displayed */
	// The number of consecutive locally originated failures before ejection
	// occurs. Defaults to 5. Parameter takes effect only when
	// `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)`
	// is set to true.
	ConsecutiveLocalOriginFailure *wrapperspb.UInt32Value `` /* 153-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through consecutive locally originated failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 100.
	// Parameter takes effect only when
	// `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)`
	// is set to true.
	EnforcingConsecutiveLocalOriginFailure *wrapperspb.UInt32Value `` /* 182-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through success rate statistics for locally originated errors.
	// This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.
	// Parameter takes effect only when
	// `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)`
	// is set to true.
	EnforcingLocalOriginSuccessRate *wrapperspb.UInt32Value `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

See the `architecture overview (arch_overview_outlier_detection)` for more information on outlier detection.

func (*OutlierDetection) Clone added in v1.8.24

func (m *OutlierDetection) Clone() proto.Message

Clone function

func (*OutlierDetection) Descriptor deprecated

func (*OutlierDetection) Descriptor() ([]byte, []int)

Deprecated: Use OutlierDetection.ProtoReflect.Descriptor instead.

func (*OutlierDetection) Equal

func (m *OutlierDetection) Equal(that interface{}) bool

Equal function

func (*OutlierDetection) GetBaseEjectionTime

func (x *OutlierDetection) GetBaseEjectionTime() *durationpb.Duration

func (*OutlierDetection) GetConsecutiveGatewayFailure

func (x *OutlierDetection) GetConsecutiveGatewayFailure() *wrapperspb.UInt32Value

func (*OutlierDetection) GetConsecutiveLocalOriginFailure

func (x *OutlierDetection) GetConsecutiveLocalOriginFailure() *wrapperspb.UInt32Value

func (*OutlierDetection) GetConsecutive_5Xx

func (x *OutlierDetection) GetConsecutive_5Xx() *wrapperspb.UInt32Value

func (*OutlierDetection) GetEnforcingConsecutiveGatewayFailure

func (x *OutlierDetection) GetEnforcingConsecutiveGatewayFailure() *wrapperspb.UInt32Value

func (*OutlierDetection) GetEnforcingConsecutiveLocalOriginFailure

func (x *OutlierDetection) GetEnforcingConsecutiveLocalOriginFailure() *wrapperspb.UInt32Value

func (*OutlierDetection) GetEnforcingConsecutive_5Xx

func (x *OutlierDetection) GetEnforcingConsecutive_5Xx() *wrapperspb.UInt32Value

func (*OutlierDetection) GetEnforcingLocalOriginSuccessRate

func (x *OutlierDetection) GetEnforcingLocalOriginSuccessRate() *wrapperspb.UInt32Value

func (*OutlierDetection) GetEnforcingSuccessRate

func (x *OutlierDetection) GetEnforcingSuccessRate() *wrapperspb.UInt32Value

func (*OutlierDetection) GetInterval

func (x *OutlierDetection) GetInterval() *durationpb.Duration

func (*OutlierDetection) GetMaxEjectionPercent

func (x *OutlierDetection) GetMaxEjectionPercent() *wrapperspb.UInt32Value

func (*OutlierDetection) GetSplitExternalLocalOriginErrors

func (x *OutlierDetection) GetSplitExternalLocalOriginErrors() bool

func (*OutlierDetection) GetSuccessRateMinimumHosts

func (x *OutlierDetection) GetSuccessRateMinimumHosts() *wrapperspb.UInt32Value

func (*OutlierDetection) GetSuccessRateRequestVolume

func (x *OutlierDetection) GetSuccessRateRequestVolume() *wrapperspb.UInt32Value

func (*OutlierDetection) GetSuccessRateStdevFactor

func (x *OutlierDetection) GetSuccessRateStdevFactor() *wrapperspb.UInt32Value

func (*OutlierDetection) Hash deprecated added in v1.2.13

func (m *OutlierDetection) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*OutlierDetection) HashUnique added in v1.18.0

func (m *OutlierDetection) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*OutlierDetection) ProtoMessage

func (*OutlierDetection) ProtoMessage()

func (*OutlierDetection) ProtoReflect added in v1.6.0

func (x *OutlierDetection) ProtoReflect() protoreflect.Message

func (*OutlierDetection) Reset

func (x *OutlierDetection) Reset()

func (*OutlierDetection) String

func (x *OutlierDetection) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL