overloadv3

package
v1.34.0-20240426201503... Latest Latest
Warning

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

Go to latest
Published: unknown License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ScaleTimersOverloadActionConfig_TimerType_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "HTTP_DOWNSTREAM_CONNECTION_IDLE",
		2: "HTTP_DOWNSTREAM_STREAM_IDLE",
		3: "TRANSPORT_SOCKET_CONNECT",
	}
	ScaleTimersOverloadActionConfig_TimerType_value = map[string]int32{
		"UNSPECIFIED":                     0,
		"HTTP_DOWNSTREAM_CONNECTION_IDLE": 1,
		"HTTP_DOWNSTREAM_STREAM_IDLE":     2,
		"TRANSPORT_SOCKET_CONNECT":        3,
	}
)

Enum value maps for ScaleTimersOverloadActionConfig_TimerType.

View Source
var File_envoy_config_overload_v3_overload_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type BufferFactoryConfig

type BufferFactoryConfig struct {

	// The minimum power of two at which Envoy starts tracking an account.
	//
	// Envoy has 8 power of two buckets starting with the provided exponent below.
	// Concretely the 1st bucket contains accounts for streams that use
	// [2^minimum_account_to_track_power_of_two,
	// 2^(minimum_account_to_track_power_of_two + 1)) bytes.
	// With the 8th bucket tracking accounts
	// >= 128 * 2^minimum_account_to_track_power_of_two.
	//
	// The maximum value is 56, since we're using uint64_t for bytes counting,
	// and that's the last value that would use the 8 buckets. In practice,
	// we don't expect the proxy to be holding 2^56 bytes.
	//
	// If omitted, Envoy should not do any tracking.
	MinimumAccountToTrackPowerOfTwo uint32 `` /* 165-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for which accounts the WatermarkBuffer Factories should track.

func (*BufferFactoryConfig) Descriptor deprecated

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

Deprecated: Use BufferFactoryConfig.ProtoReflect.Descriptor instead.

func (*BufferFactoryConfig) GetMinimumAccountToTrackPowerOfTwo

func (x *BufferFactoryConfig) GetMinimumAccountToTrackPowerOfTwo() uint32

func (*BufferFactoryConfig) ProtoMessage

func (*BufferFactoryConfig) ProtoMessage()

func (*BufferFactoryConfig) ProtoReflect

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

func (*BufferFactoryConfig) Reset

func (x *BufferFactoryConfig) Reset()

func (*BufferFactoryConfig) String

func (x *BufferFactoryConfig) String() string

type LoadShedPoint

type LoadShedPoint struct {

	// This is just a well-known string for the LoadShedPoint.
	// Deployment specific LoadShedPoints e.g. within a custom extension should
	// be prefixed by the company / deployment name to avoid colliding with any
	// open source LoadShedPoints.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A set of triggers for this LoadShedPoint. The LoadShedPoint will use the
	// the maximum state of all triggers, which can be scalar values between 0 and
	// 1 or saturated. A LoadShedPoint can only have one trigger for a given
	// resource e.g. :ref:`Trigger.name
	// <envoy_v3_api_field_config.overload.v3.Trigger.name>` must be unique in
	// this list.
	Triggers []*Trigger `protobuf:"bytes,2,rep,name=triggers,proto3" json:"triggers,omitempty"`
	// contains filtered or unexported fields
}

A point within the connection or request lifecycle that provides context on whether to shed load at that given stage for the current entity at the point.

func (*LoadShedPoint) Descriptor deprecated

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

Deprecated: Use LoadShedPoint.ProtoReflect.Descriptor instead.

func (*LoadShedPoint) GetName

func (x *LoadShedPoint) GetName() string

func (*LoadShedPoint) GetTriggers

func (x *LoadShedPoint) GetTriggers() []*Trigger

func (*LoadShedPoint) ProtoMessage

func (*LoadShedPoint) ProtoMessage()

func (*LoadShedPoint) ProtoReflect

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

func (*LoadShedPoint) Reset

func (x *LoadShedPoint) Reset()

func (*LoadShedPoint) String

func (x *LoadShedPoint) String() string

type OverloadAction

type OverloadAction struct {

	// The name of the overload action. This is just a well-known string that listeners can
	// use for registering callbacks. Custom overload actions should be named using reverse
	// DNS to ensure uniqueness.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A set of triggers for this action. The state of the action is the maximum
	// state of all triggers, which can be scalar values between 0 and 1 or
	// saturated. Listeners are notified when the overload action changes state.
	// An overload manager action can only have one trigger for a given resource
	// e.g. :ref:`Trigger.name
	// <envoy_v3_api_field_config.overload.v3.Trigger.name>` must be unique
	// in this list.
	Triggers []*Trigger `protobuf:"bytes,2,rep,name=triggers,proto3" json:"triggers,omitempty"`
	// Configuration for the action being instantiated.
	TypedConfig *anypb.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
	// contains filtered or unexported fields
}

func (*OverloadAction) Descriptor deprecated

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

Deprecated: Use OverloadAction.ProtoReflect.Descriptor instead.

func (*OverloadAction) GetName

func (x *OverloadAction) GetName() string

func (*OverloadAction) GetTriggers

func (x *OverloadAction) GetTriggers() []*Trigger

func (*OverloadAction) GetTypedConfig

func (x *OverloadAction) GetTypedConfig() *anypb.Any

func (*OverloadAction) ProtoMessage

func (*OverloadAction) ProtoMessage()

func (*OverloadAction) ProtoReflect

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

func (*OverloadAction) Reset

func (x *OverloadAction) Reset()

func (*OverloadAction) String

func (x *OverloadAction) String() string

type OverloadManager

type OverloadManager struct {

	// The interval for refreshing resource usage.
	RefreshInterval *durationpb.Duration `protobuf:"bytes,1,opt,name=refresh_interval,json=refreshInterval,proto3" json:"refresh_interval,omitempty"`
	// The set of resources to monitor.
	ResourceMonitors []*ResourceMonitor `protobuf:"bytes,2,rep,name=resource_monitors,json=resourceMonitors,proto3" json:"resource_monitors,omitempty"`
	// The set of overload actions.
	Actions []*OverloadAction `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
	// The set of load shed points.
	LoadshedPoints []*LoadShedPoint `protobuf:"bytes,5,rep,name=loadshed_points,json=loadshedPoints,proto3" json:"loadshed_points,omitempty"`
	// Configuration for buffer factory.
	BufferFactoryConfig *BufferFactoryConfig `protobuf:"bytes,4,opt,name=buffer_factory_config,json=bufferFactoryConfig,proto3" json:"buffer_factory_config,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 6]

func (*OverloadManager) Descriptor deprecated

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

Deprecated: Use OverloadManager.ProtoReflect.Descriptor instead.

func (*OverloadManager) GetActions

func (x *OverloadManager) GetActions() []*OverloadAction

func (*OverloadManager) GetBufferFactoryConfig

func (x *OverloadManager) GetBufferFactoryConfig() *BufferFactoryConfig

func (*OverloadManager) GetLoadshedPoints

func (x *OverloadManager) GetLoadshedPoints() []*LoadShedPoint

func (*OverloadManager) GetRefreshInterval

func (x *OverloadManager) GetRefreshInterval() *durationpb.Duration

func (*OverloadManager) GetResourceMonitors

func (x *OverloadManager) GetResourceMonitors() []*ResourceMonitor

func (*OverloadManager) ProtoMessage

func (*OverloadManager) ProtoMessage()

func (*OverloadManager) ProtoReflect

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

func (*OverloadManager) Reset

func (x *OverloadManager) Reset()

func (*OverloadManager) String

func (x *OverloadManager) String() string

type ResourceMonitor

type ResourceMonitor struct {

	// The name of the resource monitor to instantiate. Must match a registered
	// resource monitor type.
	// See the :ref:`extensions listed in typed_config below <extension_category_envoy.resource_monitors>` for the default list of available resource monitor.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Configuration for the resource monitor being instantiated.
	// [#extension-category: envoy.resource_monitors]
	//
	// Types that are assignable to ConfigType:
	//
	//	*ResourceMonitor_TypedConfig
	ConfigType isResourceMonitor_ConfigType `protobuf_oneof:"config_type"`
	// contains filtered or unexported fields
}

func (*ResourceMonitor) Descriptor deprecated

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

Deprecated: Use ResourceMonitor.ProtoReflect.Descriptor instead.

func (*ResourceMonitor) GetConfigType

func (m *ResourceMonitor) GetConfigType() isResourceMonitor_ConfigType

func (*ResourceMonitor) GetName

func (x *ResourceMonitor) GetName() string

func (*ResourceMonitor) GetTypedConfig

func (x *ResourceMonitor) GetTypedConfig() *anypb.Any

func (*ResourceMonitor) ProtoMessage

func (*ResourceMonitor) ProtoMessage()

func (*ResourceMonitor) ProtoReflect

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

func (*ResourceMonitor) Reset

func (x *ResourceMonitor) Reset()

func (*ResourceMonitor) String

func (x *ResourceMonitor) String() string

type ResourceMonitor_TypedConfig

type ResourceMonitor_TypedConfig struct {
	TypedConfig *anypb.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}

type ScaleTimersOverloadActionConfig

type ScaleTimersOverloadActionConfig struct {

	// A set of timer scaling rules to be applied.
	TimerScaleFactors []*ScaleTimersOverloadActionConfig_ScaleTimer `protobuf:"bytes,1,rep,name=timer_scale_factors,json=timerScaleFactors,proto3" json:"timer_scale_factors,omitempty"`
	// contains filtered or unexported fields
}

Typed configuration for the "envoy.overload_actions.reduce_timeouts" action. See :ref:`the docs <config_overload_manager_reducing_timeouts>` for an example of how to configure the action with different timeouts and minimum values.

func (*ScaleTimersOverloadActionConfig) Descriptor deprecated

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

Deprecated: Use ScaleTimersOverloadActionConfig.ProtoReflect.Descriptor instead.

func (*ScaleTimersOverloadActionConfig) GetTimerScaleFactors

func (*ScaleTimersOverloadActionConfig) ProtoMessage

func (*ScaleTimersOverloadActionConfig) ProtoMessage()

func (*ScaleTimersOverloadActionConfig) ProtoReflect

func (*ScaleTimersOverloadActionConfig) Reset

func (*ScaleTimersOverloadActionConfig) String

type ScaleTimersOverloadActionConfig_ScaleTimer

type ScaleTimersOverloadActionConfig_ScaleTimer struct {

	// The type of timer this minimum applies to.
	Timer ScaleTimersOverloadActionConfig_TimerType `` /* 136-byte string literal not displayed */
	// Types that are assignable to OverloadAdjust:
	//
	//	*ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout
	//	*ScaleTimersOverloadActionConfig_ScaleTimer_MinScale
	OverloadAdjust isScaleTimersOverloadActionConfig_ScaleTimer_OverloadAdjust `protobuf_oneof:"overload_adjust"`
	// contains filtered or unexported fields
}

func (*ScaleTimersOverloadActionConfig_ScaleTimer) Descriptor deprecated

Deprecated: Use ScaleTimersOverloadActionConfig_ScaleTimer.ProtoReflect.Descriptor instead.

func (*ScaleTimersOverloadActionConfig_ScaleTimer) GetMinScale

func (*ScaleTimersOverloadActionConfig_ScaleTimer) GetMinTimeout

func (*ScaleTimersOverloadActionConfig_ScaleTimer) GetOverloadAdjust

func (m *ScaleTimersOverloadActionConfig_ScaleTimer) GetOverloadAdjust() isScaleTimersOverloadActionConfig_ScaleTimer_OverloadAdjust

func (*ScaleTimersOverloadActionConfig_ScaleTimer) GetTimer

func (*ScaleTimersOverloadActionConfig_ScaleTimer) ProtoMessage

func (*ScaleTimersOverloadActionConfig_ScaleTimer) ProtoReflect

func (*ScaleTimersOverloadActionConfig_ScaleTimer) Reset

func (*ScaleTimersOverloadActionConfig_ScaleTimer) String

type ScaleTimersOverloadActionConfig_ScaleTimer_MinScale

type ScaleTimersOverloadActionConfig_ScaleTimer_MinScale struct {
	// Sets the minimum duration as a percentage of the maximum value.
	MinScale *v3.Percent `protobuf:"bytes,3,opt,name=min_scale,json=minScale,proto3,oneof"`
}

type ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout

type ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout struct {
	// Sets the minimum duration as an absolute value.
	MinTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=min_timeout,json=minTimeout,proto3,oneof"`
}

type ScaleTimersOverloadActionConfig_TimerType

type ScaleTimersOverloadActionConfig_TimerType int32
const (
	// Unsupported value; users must explicitly specify the timer they want scaled.
	ScaleTimersOverloadActionConfig_UNSPECIFIED ScaleTimersOverloadActionConfig_TimerType = 0
	// Adjusts the idle timer for downstream HTTP connections that takes effect when there are no active streams.
	// This affects the value of :ref:`HttpConnectionManager.common_http_protocol_options.idle_timeout
	// <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.idle_timeout>`
	ScaleTimersOverloadActionConfig_HTTP_DOWNSTREAM_CONNECTION_IDLE ScaleTimersOverloadActionConfig_TimerType = 1
	// Adjusts the idle timer for HTTP streams initiated by downstream clients.
	// This affects the value of :ref:`RouteAction.idle_timeout <envoy_v3_api_field_config.route.v3.RouteAction.idle_timeout>` and
	// :ref:`HttpConnectionManager.stream_idle_timeout
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
	ScaleTimersOverloadActionConfig_HTTP_DOWNSTREAM_STREAM_IDLE ScaleTimersOverloadActionConfig_TimerType = 2
	// Adjusts the timer for how long downstream clients have to finish transport-level negotiations
	// before the connection is closed.
	// This affects the value of
	// :ref:`FilterChain.transport_socket_connect_timeout <envoy_v3_api_field_config.listener.v3.FilterChain.transport_socket_connect_timeout>`.
	ScaleTimersOverloadActionConfig_TRANSPORT_SOCKET_CONNECT ScaleTimersOverloadActionConfig_TimerType = 3
)

func (ScaleTimersOverloadActionConfig_TimerType) Descriptor

func (ScaleTimersOverloadActionConfig_TimerType) Enum

func (ScaleTimersOverloadActionConfig_TimerType) EnumDescriptor deprecated

func (ScaleTimersOverloadActionConfig_TimerType) EnumDescriptor() ([]byte, []int)

Deprecated: Use ScaleTimersOverloadActionConfig_TimerType.Descriptor instead.

func (ScaleTimersOverloadActionConfig_TimerType) Number

func (ScaleTimersOverloadActionConfig_TimerType) String

func (ScaleTimersOverloadActionConfig_TimerType) Type

type ScaledTrigger

type ScaledTrigger struct {

	// If the resource pressure is greater than this value, the trigger will be in the
	// :ref:`scaling <arch_overview_overload_manager-triggers-state>` state with value
	// “(pressure - scaling_threshold) / (saturation_threshold - scaling_threshold)“.
	ScalingThreshold float64 `protobuf:"fixed64,1,opt,name=scaling_threshold,json=scalingThreshold,proto3" json:"scaling_threshold,omitempty"`
	// If the resource pressure is greater than this value, the trigger will enter saturation.
	SaturationThreshold float64 `protobuf:"fixed64,2,opt,name=saturation_threshold,json=saturationThreshold,proto3" json:"saturation_threshold,omitempty"`
	// contains filtered or unexported fields
}

func (*ScaledTrigger) Descriptor deprecated

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

Deprecated: Use ScaledTrigger.ProtoReflect.Descriptor instead.

func (*ScaledTrigger) GetSaturationThreshold

func (x *ScaledTrigger) GetSaturationThreshold() float64

func (*ScaledTrigger) GetScalingThreshold

func (x *ScaledTrigger) GetScalingThreshold() float64

func (*ScaledTrigger) ProtoMessage

func (*ScaledTrigger) ProtoMessage()

func (*ScaledTrigger) ProtoReflect

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

func (*ScaledTrigger) Reset

func (x *ScaledTrigger) Reset()

func (*ScaledTrigger) String

func (x *ScaledTrigger) String() string

type ThresholdTrigger

type ThresholdTrigger struct {

	// If the resource pressure is greater than or equal to this value, the trigger
	// will enter saturation.
	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*ThresholdTrigger) Descriptor deprecated

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

Deprecated: Use ThresholdTrigger.ProtoReflect.Descriptor instead.

func (*ThresholdTrigger) GetValue

func (x *ThresholdTrigger) GetValue() float64

func (*ThresholdTrigger) ProtoMessage

func (*ThresholdTrigger) ProtoMessage()

func (*ThresholdTrigger) ProtoReflect

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

func (*ThresholdTrigger) Reset

func (x *ThresholdTrigger) Reset()

func (*ThresholdTrigger) String

func (x *ThresholdTrigger) String() string

type Trigger

type Trigger struct {

	// The name of the resource this is a trigger for.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are assignable to TriggerOneof:
	//
	//	*Trigger_Threshold
	//	*Trigger_Scaled
	TriggerOneof isTrigger_TriggerOneof `protobuf_oneof:"trigger_oneof"`
	// contains filtered or unexported fields
}

func (*Trigger) Descriptor deprecated

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

Deprecated: Use Trigger.ProtoReflect.Descriptor instead.

func (*Trigger) GetName

func (x *Trigger) GetName() string

func (*Trigger) GetScaled

func (x *Trigger) GetScaled() *ScaledTrigger

func (*Trigger) GetThreshold

func (x *Trigger) GetThreshold() *ThresholdTrigger

func (*Trigger) GetTriggerOneof

func (m *Trigger) GetTriggerOneof() isTrigger_TriggerOneof

func (*Trigger) ProtoMessage

func (*Trigger) ProtoMessage()

func (*Trigger) ProtoReflect

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

func (*Trigger) Reset

func (x *Trigger) Reset()

func (*Trigger) String

func (x *Trigger) String() string

type Trigger_Scaled

type Trigger_Scaled struct {
	Scaled *ScaledTrigger `protobuf:"bytes,3,opt,name=scaled,proto3,oneof"`
}

type Trigger_Threshold

type Trigger_Threshold struct {
	Threshold *ThresholdTrigger `protobuf:"bytes,2,opt,name=threshold,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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