.. _envoy_api_file_envoy/config/overload/v2alpha/overload.proto:

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.

.. _envoy_api_msg_config.overload.v2alpha.ResourceMonitor:

config.overload.v2alpha.ResourceMonitor
---------------------------------------

`[config.overload.v2alpha.ResourceMonitor proto] <https://github.com/envoyproxy/envoy/blob/0717f49fef0dac3818cd7cdc52bf18e0ae1f7a2c/api/envoy/config/overload/v2alpha/overload.proto#L23>`_


.. code-block:: json

  {
    "name": "...",
    "config": "{...}",
    "typed_config": "{...}"
  }

.. _envoy_api_field_config.overload.v2alpha.ResourceMonitor.name:

name
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) The name of the resource monitor to instantiate. Must match a registered
  resource monitor type. The built-in resource monitors are:
  
  * :ref:`envoy.resource_monitors.fixed_heap
    <envoy_api_msg_config.resource_monitor.fixed_heap.v2alpha.FixedHeapConfig>`
  * :ref:`envoy.resource_monitors.injected_resource
    <envoy_api_msg_config.resource_monitor.injected_resource.v2alpha.InjectedResourceConfig>`
  
  
.. _envoy_api_field_config.overload.v2alpha.ResourceMonitor.config:

config
  (`Struct <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct>`_) 
  Configuration for the resource monitor being instantiated.
  
  
  Only one of :ref:`config <envoy_api_field_config.overload.v2alpha.ResourceMonitor.config>`, :ref:`typed_config <envoy_api_field_config.overload.v2alpha.ResourceMonitor.typed_config>` may be set.
  
.. _envoy_api_field_config.overload.v2alpha.ResourceMonitor.typed_config:

typed_config
  (`Any <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#any>`_) 
  Configuration for the resource monitor being instantiated.
  
  
  Only one of :ref:`config <envoy_api_field_config.overload.v2alpha.ResourceMonitor.config>`, :ref:`typed_config <envoy_api_field_config.overload.v2alpha.ResourceMonitor.typed_config>` may be set.
  


.. _envoy_api_msg_config.overload.v2alpha.ThresholdTrigger:

config.overload.v2alpha.ThresholdTrigger
----------------------------------------

`[config.overload.v2alpha.ThresholdTrigger proto] <https://github.com/envoyproxy/envoy/blob/0717f49fef0dac3818cd7cdc52bf18e0ae1f7a2c/api/envoy/config/overload/v2alpha/overload.proto#L41>`_


.. code-block:: json

  {
    "value": "..."
  }

.. _envoy_api_field_config.overload.v2alpha.ThresholdTrigger.value:

value
  (`double <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) If the resource pressure is greater than or equal to this value, the trigger
  will fire.
  
  


.. _envoy_api_msg_config.overload.v2alpha.Trigger:

config.overload.v2alpha.Trigger
-------------------------------

`[config.overload.v2alpha.Trigger proto] <https://github.com/envoyproxy/envoy/blob/0717f49fef0dac3818cd7cdc52bf18e0ae1f7a2c/api/envoy/config/overload/v2alpha/overload.proto#L47>`_


.. code-block:: json

  {
    "name": "...",
    "threshold": "{...}"
  }

.. _envoy_api_field_config.overload.v2alpha.Trigger.name:

name
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) The name of the resource this is a trigger for.
  
  
.. _envoy_api_field_config.overload.v2alpha.Trigger.threshold:

threshold
  (:ref:`config.overload.v2alpha.ThresholdTrigger <envoy_api_msg_config.overload.v2alpha.ThresholdTrigger>`, *REQUIRED*) 
  
  


.. _envoy_api_msg_config.overload.v2alpha.OverloadAction:

config.overload.v2alpha.OverloadAction
--------------------------------------

`[config.overload.v2alpha.OverloadAction proto] <https://github.com/envoyproxy/envoy/blob/0717f49fef0dac3818cd7cdc52bf18e0ae1f7a2c/api/envoy/config/overload/v2alpha/overload.proto#L58>`_


.. code-block:: json

  {
    "name": "...",
    "triggers": []
  }

.. _envoy_api_field_config.overload.v2alpha.OverloadAction.name:

name
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *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.
  
  
.. _envoy_api_field_config.overload.v2alpha.OverloadAction.triggers:

triggers
  (:ref:`config.overload.v2alpha.Trigger <envoy_api_msg_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.
  
  


.. _envoy_api_msg_config.overload.v2alpha.OverloadManager:

config.overload.v2alpha.OverloadManager
---------------------------------------

`[config.overload.v2alpha.OverloadManager proto] <https://github.com/envoyproxy/envoy/blob/0717f49fef0dac3818cd7cdc52bf18e0ae1f7a2c/api/envoy/config/overload/v2alpha/overload.proto#L70>`_


.. code-block:: json

  {
    "refresh_interval": "{...}",
    "resource_monitors": [],
    "actions": []
  }

.. _envoy_api_field_config.overload.v2alpha.OverloadManager.refresh_interval:

refresh_interval
  (`Duration <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration>`_) The interval for refreshing resource usage.
  
  
.. _envoy_api_field_config.overload.v2alpha.OverloadManager.resource_monitors:

resource_monitors
  (:ref:`config.overload.v2alpha.ResourceMonitor <envoy_api_msg_config.overload.v2alpha.ResourceMonitor>`, *REQUIRED*) The set of resources to monitor.
  
  
.. _envoy_api_field_config.overload.v2alpha.OverloadManager.actions:

actions
  (:ref:`config.overload.v2alpha.OverloadAction <envoy_api_msg_config.overload.v2alpha.OverloadAction>`) The set of overload actions.