Add a CPU utilization resource monitor for overload manager (#34713)

Commit Message: Add a CPU utilization resource monitor for overload
manager. i.e. this can be configured to reject requests once CPU Utilization reaches a certain brownout point.

Signed-off-by: Can Cecen <ccecen@netflix.com>

Mirrored from https://github.com/envoyproxy/envoy @ 4d121628c648d2f565b4e6651484036981051763
main
update-envoy[bot] 3 months ago
parent 21d8442732
commit 19420fea29
  1. 1
      BUILD
  2. 9
      envoy/extensions/resource_monitors/cpu_utilization/v3/BUILD
  3. 19
      envoy/extensions/resource_monitors/cpu_utilization/v3/cpu_utilization.proto
  4. 1
      versioning/BUILD

@ -311,6 +311,7 @@ proto_library(
"//envoy/extensions/rbac/matchers/upstream_ip_port/v3:pkg", "//envoy/extensions/rbac/matchers/upstream_ip_port/v3:pkg",
"//envoy/extensions/regex_engines/v3:pkg", "//envoy/extensions/regex_engines/v3:pkg",
"//envoy/extensions/request_id/uuid/v3:pkg", "//envoy/extensions/request_id/uuid/v3:pkg",
"//envoy/extensions/resource_monitors/cpu_utilization/v3:pkg",
"//envoy/extensions/resource_monitors/downstream_connections/v3:pkg", "//envoy/extensions/resource_monitors/downstream_connections/v3:pkg",
"//envoy/extensions/resource_monitors/fixed_heap/v3:pkg", "//envoy/extensions/resource_monitors/fixed_heap/v3:pkg",
"//envoy/extensions/resource_monitors/injected_resource/v3:pkg", "//envoy/extensions/resource_monitors/injected_resource/v3:pkg",

@ -0,0 +1,9 @@
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py.
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package")
licenses(["notice"]) # Apache 2
api_proto_package(
deps = ["@com_github_cncf_xds//udpa/annotations:pkg"],
)

@ -0,0 +1,19 @@
syntax = "proto3";
package envoy.extensions.resource_monitors.cpu_utilization.v3;
import "udpa/annotations/status.proto";
option java_package = "io.envoyproxy.envoy.extensions.resource_monitors.cpu_utilization.v3";
option java_outer_classname = "CpuUtilizationProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/resource_monitors/cpu_utilization/v3;cpu_utilizationv3";
option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#protodoc-title: CPU utilization]
// [#extension: envoy.resource_monitors.cpu_utilization]
// The CPU utilization resource monitor reports the Envoy process the CPU Utilization of the entire host.
// Today, this only works on Linux and is calculated using the stats in the /proc/stat file.
message CpuUtilizationConfig {
}

@ -250,6 +250,7 @@ proto_library(
"//envoy/extensions/rbac/matchers/upstream_ip_port/v3:pkg", "//envoy/extensions/rbac/matchers/upstream_ip_port/v3:pkg",
"//envoy/extensions/regex_engines/v3:pkg", "//envoy/extensions/regex_engines/v3:pkg",
"//envoy/extensions/request_id/uuid/v3:pkg", "//envoy/extensions/request_id/uuid/v3:pkg",
"//envoy/extensions/resource_monitors/cpu_utilization/v3:pkg",
"//envoy/extensions/resource_monitors/downstream_connections/v3:pkg", "//envoy/extensions/resource_monitors/downstream_connections/v3:pkg",
"//envoy/extensions/resource_monitors/fixed_heap/v3:pkg", "//envoy/extensions/resource_monitors/fixed_heap/v3:pkg",
"//envoy/extensions/resource_monitors/injected_resource/v3:pkg", "//envoy/extensions/resource_monitors/injected_resource/v3:pkg",

Loading…
Cancel
Save