Overload Manager
The Overload Manager provides an extensible framework to protect Envoy instances from overload of various resources (memory, cpu, file descriptors, etc). It monitors a configurable set of resources and notifies registered listeners when triggers related to those resources fire.
config.overload.v3.ResourceMonitor
[config.overload.v3.ResourceMonitor proto]
{
"name": "...",
"typed_config": "{...}"
}
name
(string, REQUIRED) The name of the resource monitor to instantiate. Must match a registered resource monitor type. The built-in resource monitors are:
typed_config
(Any) Configuration for the resource monitor being instantiated.
config.overload.v3.ThresholdTrigger
[config.overload.v3.ThresholdTrigger proto]
{
"value": "..."
}
value
(double) If the resource pressure is greater than or equal to this value, the trigger will enter saturation.
config.overload.v3.ScaledTrigger
[config.overload.v3.ScaledTrigger proto]
{
"scaling_threshold": "...",
"saturation_threshold": "..."
}
scaling_threshold
(double) If the resource pressure is greater than this value, the trigger will be in the scaling state with value (pressure - scaling_threshold) / (saturation_threshold - scaling_threshold).
saturation_threshold
(double) If the resource pressure is greater than this value, the trigger will enter saturation.
config.overload.v3.Trigger
[config.overload.v3.Trigger proto]
{
"name": "...",
"threshold": "{...}",
"scaled": "{...}"
}
name
(string, REQUIRED) The name of the resource this is a trigger for.
threshold
(config.overload.v3.ThresholdTrigger)
Precisely one of threshold, scaled must be set.
scaled
(config.overload.v3.ScaledTrigger)
Precisely one of threshold, scaled must be set.
config.overload.v3.OverloadAction
[config.overload.v3.OverloadAction proto]
{
"name": "...",
"triggers": []
}
name
(string, REQUIRED) 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.
triggers
(config.overload.v3.Trigger, REQUIRED) 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.
config.overload.v3.OverloadManager
[config.overload.v3.OverloadManager proto]
{
"refresh_interval": "{...}",
"resource_monitors": [],
"actions": []
}
refresh_interval
(Duration) The interval for refreshing resource usage.
resource_monitors
(config.overload.v3.ResourceMonitor, REQUIRED) The set of resources to monitor.
actions
(config.overload.v3.OverloadAction) The set of overload actions.