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.v2alpha.ResourceMonitor
[config.overload.v2alpha.ResourceMonitor proto]
{
"name": "...",
"config": "{...}",
"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:
config
(Struct) Configuration for the resource monitor being instantiated.
Only one of config, typed_config may be set.
typed_config
(Any) Configuration for the resource monitor being instantiated.
Only one of config, typed_config may be set.
config.overload.v2alpha.ThresholdTrigger
[config.overload.v2alpha.ThresholdTrigger proto]
{
"value": "..."
}
value
(double) If the resource pressure is greater than or equal to this value, the trigger will fire.
config.overload.v2alpha.Trigger
[config.overload.v2alpha.Trigger proto]
{
"name": "...",
"threshold": "{...}"
}
name
(string, REQUIRED) The name of the resource this is a trigger for.
threshold
(config.overload.v2alpha.ThresholdTrigger, REQUIRED)
config.overload.v2alpha.OverloadAction
[config.overload.v2alpha.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.v2alpha.Trigger, REQUIRED) A set of triggers for this action. If any of these triggers fire the overload action is activated. Listeners are notified when the overload action transitions from inactivated to activated, or vice versa.
config.overload.v2alpha.OverloadManager
[config.overload.v2alpha.OverloadManager proto]
{
"refresh_interval": "{...}",
"resource_monitors": [],
"actions": []
}
refresh_interval
(Duration) The interval for refreshing resource usage.
resource_monitors
(config.overload.v2alpha.ResourceMonitor, REQUIRED) The set of resources to monitor.
actions
(config.overload.v2alpha.OverloadAction) The set of overload actions.