-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add overload manager to bootstrap config (#4038)
Initialize on startup and add documentation (issue #373) Risk Level: low Testing: unit tests Docs Changes: add docs for overload manager Signed-off-by: Elisha Ziskind <eziskind@google.com>
- Loading branch information
Showing
30 changed files
with
182 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,14 @@ | ||
load("//bazel:api_build_system.bzl", "api_proto_library_internal") | ||
load("//bazel:api_build_system.bzl", "api_go_proto_library", "api_proto_library_internal") | ||
|
||
licenses(["notice"]) # Apache 2 | ||
|
||
api_proto_library_internal( | ||
name = "overload", | ||
srcs = ["overload.proto"], | ||
visibility = ["//visibility:public"], | ||
) | ||
|
||
api_go_proto_library( | ||
name = "overload", | ||
proto = ":overload", | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
docs/root/api-v2/config/resource_monitor/resource_monitor.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
.. _config_resource_monitors: | ||
|
||
Resource monitors | ||
================= | ||
|
||
.. toctree:: | ||
:glob: | ||
:maxdepth: 1 | ||
|
||
*/v2alpha/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,3 +21,4 @@ Configuration reference | |
runtime | ||
statistics | ||
tools/router_check | ||
overload_manager/overload_manager |
38 changes: 38 additions & 0 deletions
38
docs/root/configuration/overload_manager/overload_manager.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
.. _config_overload_manager: | ||
|
||
Overload manager | ||
================ | ||
|
||
The :ref:`overload manager <arch_overview_overload_manager>` is configured in the Boostrap | ||
:ref:`overload_manager <envoy_api_field_config.bootstrap.v2.Bootstrap.overload_manager>` | ||
field. | ||
|
||
Resource monitors | ||
----------------- | ||
|
||
The overload manager uses Envoy's :ref:`extension <extending>` framework for defining | ||
resource monitors. Envoy's builtin resource monitors are listed | ||
:ref:`here <config_resource_monitors>`. | ||
|
||
Statistics | ||
---------- | ||
|
||
Each configured resource monitor has a statistics tree rooted at *overload.<name>.* | ||
with the following statistics: | ||
|
||
.. csv-table:: | ||
:header: Name, Type, Description | ||
:widths: 1, 1, 2 | ||
|
||
pressure, Gauge, Resource pressure as a percent | ||
failed_updates, Counter, Total failed attempts to update the resource pressure | ||
skipped_updates, Counter, Total skipped attempts to update the resource pressure due to a pending update | ||
|
||
Each configured overload action has a statistics tree rooted at *overload.<name>.* | ||
with the following statistics: | ||
|
||
.. csv-table:: | ||
:header: Name, Type, Description | ||
:widths: 1, 1, 2 | ||
|
||
active, Gauge, "Active state of the action (0=inactive, 1=active)" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,3 +37,4 @@ Architecture overview | |
draining | ||
scripting | ||
ext_authz_filter | ||
overload_manager |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
.. _arch_overview_overload_manager: | ||
|
||
Overload manager | ||
================ | ||
|
||
The overload manager is an extensible component for protecting the Envoy server from overload | ||
with respect to various system resources (such as memory, cpu or file descriptors) due to too | ||
many client connections or requests. This is distinct from | ||
:ref:`circuit breaking <arch_overview_circuit_break>` which is primarily aimed at protecting | ||
upstream services. | ||
|
||
The overload manager is :ref:`configured <config_overload_manager>` by specifying a set of | ||
resources to monitor and a set of overload actions that will be taken when some of those | ||
resources exceed certain pressure thresholds. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.