Overload Manager: Implement LoadShedPoint. (#26578)

* Implement  Overload Manager LoadShedPoint.

Signed-off-by: Kevin Baichoo <kbaichoo@google.com>

Mirrored from https://github.com/envoyproxy/envoy @ b824baf79e912b56cef5173566896a5e031af610
pull/626/head
data-plane-api(Azure Pipelines) 2 years ago
parent 2456249b61
commit 0006f3631f
  1. 32
      envoy/config/overload/v3/overload.proto

@ -134,14 +134,37 @@ message OverloadAction {
string name = 1 [(validate.rules).string = {min_len: 1}];
// A set of triggers for this action. The state of the action is the maximum
// state of all triggers, which can be scaling between 0 and 1 or saturated. Listeners
// are notified when the overload action changes state.
// 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.
repeated Trigger triggers = 2 [(validate.rules).repeated = {min_items: 1}];
// Configuration for the action being instantiated.
google.protobuf.Any typed_config = 3;
}
// 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.
message LoadShedPoint {
// 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.
string name = 1 [(validate.rules).string = {min_len: 1}];
// 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.
repeated Trigger triggers = 2 [(validate.rules).repeated = {min_items: 1}];
}
// Configuration for which accounts the WatermarkBuffer Factories should
// track.
message BufferFactoryConfig {
@ -162,6 +185,7 @@ message BufferFactoryConfig {
uint32 minimum_account_to_track_power_of_two = 1 [(validate.rules).uint32 = {lte: 56 gte: 10}];
}
// [#next-free-field: 6]
message OverloadManager {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.overload.v2alpha.OverloadManager";
@ -175,6 +199,10 @@ message OverloadManager {
// The set of overload actions.
repeated OverloadAction actions = 3;
// [#not-implemented-hide:]
// The set of load shed points.
repeated LoadShedPoint loadshed_points = 5;
// Configuration for buffer factory.
BufferFactoryConfig buffer_factory_config = 4;
}

Loading…
Cancel
Save