From 9098d9efd421f7f5439f7a6a027792ad9056c605 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Fri, 5 Apr 2019 16:15:58 -0700 Subject: [PATCH 01/11] create orca.proto for open request cost aggregation service Signed-off-by: Chengyuan Zhang --- .../service/load_stats/v2alpha/orca.proto | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 api/envoy/service/load_stats/v2alpha/orca.proto diff --git a/api/envoy/service/load_stats/v2alpha/orca.proto b/api/envoy/service/load_stats/v2alpha/orca.proto new file mode 100644 index 000000000000..7c9354451c0c --- /dev/null +++ b/api/envoy/service/load_stats/v2alpha/orca.proto @@ -0,0 +1,49 @@ +syntax = "proto3"; + +package envoy.service.load_stats.v2alpha; + +option java_outer_classname = "OpenRCAProto"; +option java_multiple_files = true; +option java_package = "io.envoyproxy.envoy.service.load_stats.v2alpha"; +option go_package = "v2alpha"; + +import "google/protobuf/duration.proto"; + +// Out-of-band (OOB) load reporting service for frontends to periodically get +// load information from backends. +service OpenRCAService { + rpc StreamCoreMetrics (stream LoadReportRequest) returns (stream LoadReport); +} + +message LoadReportRequest { + // Interval for generating Open RCA core metric responses. + google.protobuf.Duration report_interval = 1; + // Request costs to collect. If this is empty, all known requests costs tracked by + // the load reporting agent will be returned. This provides an opportunity for + // the client to selectively obtain a subset of tracked costs. + repeated string request_cost_names = 2; +} + +message LoadReport { + // CPU utilization expressed as a fraction of available CPU resources. This + // should be derived from a sample or measurement taken during the request. + double cpu_utilization = 1; + + // Memory utilization expressed as a fraction of available memory + // resources. This should be derived from a sample or measurement taken + // during the request. + double mem_utilization = 2; + + // NIC inbound/outbound utilization expressed as a fraction of available NIC + // bandwidth. The request in/out bytes can be inferred by Envoy, but not the + // NIC availability at the endpoint, hence reporting + double nic_in_utilization = 3; + double nic_out_utilization = 4; + + // Application specific requests costs. Values may be absolute costs (e.g. + // 3487 bytes of storage) associated with the cost or utilization, + // expressed as a fraction of total resources available. Utilization + // metrics should be derived from a sample or measurement taken + // during the request. + map request_cost_or_utilization = 5; +} \ No newline at end of file From d9bc2227ff4b7f086c8836f6ccad895af5f0ce01 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Fri, 5 Apr 2019 16:30:43 -0700 Subject: [PATCH 02/11] add validation rules for resource utilization fields Signed-off-by: Chengyuan Zhang --- api/envoy/service/load_stats/v2alpha/orca.proto | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/api/envoy/service/load_stats/v2alpha/orca.proto b/api/envoy/service/load_stats/v2alpha/orca.proto index 7c9354451c0c..d472bd7bde1a 100644 --- a/api/envoy/service/load_stats/v2alpha/orca.proto +++ b/api/envoy/service/load_stats/v2alpha/orca.proto @@ -9,6 +9,8 @@ option go_package = "v2alpha"; import "google/protobuf/duration.proto"; +import "validate/validate.proto"; + // Out-of-band (OOB) load reporting service for frontends to periodically get // load information from backends. service OpenRCAService { @@ -27,18 +29,19 @@ message LoadReportRequest { message LoadReport { // CPU utilization expressed as a fraction of available CPU resources. This // should be derived from a sample or measurement taken during the request. - double cpu_utilization = 1; + double cpu_utilization = 1 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; // Memory utilization expressed as a fraction of available memory // resources. This should be derived from a sample or measurement taken // during the request. - double mem_utilization = 2; + double mem_utilization = 2 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; // NIC inbound/outbound utilization expressed as a fraction of available NIC // bandwidth. The request in/out bytes can be inferred by Envoy, but not the // NIC availability at the endpoint, hence reporting - double nic_in_utilization = 3; - double nic_out_utilization = 4; + double nic_in_utilization = 3 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; + + double nic_out_utilization = 4 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; // Application specific requests costs. Values may be absolute costs (e.g. // 3487 bytes of storage) associated with the cost or utilization, From bf7c3b591fe98ad87a8e2914d9423e4905188c07 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Fri, 5 Apr 2019 16:34:02 -0700 Subject: [PATCH 03/11] add BUILD file Signed-off-by: Chengyuan Zhang --- api/envoy/service/load_stats/v2alpha/BUILD | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 api/envoy/service/load_stats/v2alpha/BUILD diff --git a/api/envoy/service/load_stats/v2alpha/BUILD b/api/envoy/service/load_stats/v2alpha/BUILD new file mode 100644 index 000000000000..12f35b20c4cd --- /dev/null +++ b/api/envoy/service/load_stats/v2alpha/BUILD @@ -0,0 +1,14 @@ +load("@envoy_api//bazel:api_build_system.bzl", "api_go_grpc_library", "api_go_proto_library", "api_proto_library_internal") + +licenses(["notice"]) # Apache 2 + +api_proto_library_internal( + name = "orca", + srcs = ["orca.proto"], + has_services = 1, +) + +api_go_grpc_library( + name = "orca", + proto = ":orca", +) \ No newline at end of file From ac71382051bf4f4d3a87985e8ca42b147a184a2c Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Sat, 6 Apr 2019 10:33:04 -0700 Subject: [PATCH 04/11] format with format tool Signed-off-by: Chengyuan Zhang --- api/envoy/service/load_stats/v2alpha/BUILD | 2 +- api/envoy/service/load_stats/v2alpha/orca.proto | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/envoy/service/load_stats/v2alpha/BUILD b/api/envoy/service/load_stats/v2alpha/BUILD index 12f35b20c4cd..79c59d338570 100644 --- a/api/envoy/service/load_stats/v2alpha/BUILD +++ b/api/envoy/service/load_stats/v2alpha/BUILD @@ -11,4 +11,4 @@ api_proto_library_internal( api_go_grpc_library( name = "orca", proto = ":orca", -) \ No newline at end of file +) diff --git a/api/envoy/service/load_stats/v2alpha/orca.proto b/api/envoy/service/load_stats/v2alpha/orca.proto index d472bd7bde1a..efbf3572953a 100644 --- a/api/envoy/service/load_stats/v2alpha/orca.proto +++ b/api/envoy/service/load_stats/v2alpha/orca.proto @@ -14,7 +14,7 @@ import "validate/validate.proto"; // Out-of-band (OOB) load reporting service for frontends to periodically get // load information from backends. service OpenRCAService { - rpc StreamCoreMetrics (stream LoadReportRequest) returns (stream LoadReport); + rpc StreamCoreMetrics(stream LoadReportRequest) returns (stream LoadReport); } message LoadReportRequest { From 76b22cf5952ceee43add8a9ac23f822d31a1eaa3 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Tue, 9 Apr 2019 11:10:11 -0700 Subject: [PATCH 05/11] fix envoy proto naming conventions Signed-off-by: Chengyuan Zhang --- api/envoy/service/load_stats/v2alpha/orca.proto | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/api/envoy/service/load_stats/v2alpha/orca.proto b/api/envoy/service/load_stats/v2alpha/orca.proto index efbf3572953a..8bca59b92e38 100644 --- a/api/envoy/service/load_stats/v2alpha/orca.proto +++ b/api/envoy/service/load_stats/v2alpha/orca.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package envoy.service.load_stats.v2alpha; -option java_outer_classname = "OpenRCAProto"; +option java_outer_classname = "OpenRcaProto"; option java_multiple_files = true; option java_package = "io.envoyproxy.envoy.service.load_stats.v2alpha"; option go_package = "v2alpha"; @@ -13,11 +13,11 @@ import "validate/validate.proto"; // Out-of-band (OOB) load reporting service for frontends to periodically get // load information from backends. -service OpenRCAService { - rpc StreamCoreMetrics(stream LoadReportRequest) returns (stream LoadReport); +service OpenRcaService { + rpc StreamCoreMetrics(OrcaLoadReportRequest) returns (stream OrcaLoadReport); } -message LoadReportRequest { +message OrcaLoadReportRequest { // Interval for generating Open RCA core metric responses. google.protobuf.Duration report_interval = 1; // Request costs to collect. If this is empty, all known requests costs tracked by @@ -26,7 +26,7 @@ message LoadReportRequest { repeated string request_cost_names = 2; } -message LoadReport { +message OrcaLoadReport { // CPU utilization expressed as a fraction of available CPU resources. This // should be derived from a sample or measurement taken during the request. double cpu_utilization = 1 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; From e0984a0531b4ed344c71dec19e3523ec9428902b Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Tue, 16 Apr 2019 15:56:40 -0700 Subject: [PATCH 06/11] discard NIC metrics in load report message Signed-off-by: Chengyuan Zhang --- api/envoy/service/load_stats/v2alpha/orca.proto | 7 ------- 1 file changed, 7 deletions(-) diff --git a/api/envoy/service/load_stats/v2alpha/orca.proto b/api/envoy/service/load_stats/v2alpha/orca.proto index 8bca59b92e38..be18cc1566d1 100644 --- a/api/envoy/service/load_stats/v2alpha/orca.proto +++ b/api/envoy/service/load_stats/v2alpha/orca.proto @@ -36,13 +36,6 @@ message OrcaLoadReport { // during the request. double mem_utilization = 2 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; - // NIC inbound/outbound utilization expressed as a fraction of available NIC - // bandwidth. The request in/out bytes can be inferred by Envoy, but not the - // NIC availability at the endpoint, hence reporting - double nic_in_utilization = 3 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; - - double nic_out_utilization = 4 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; - // Application specific requests costs. Values may be absolute costs (e.g. // 3487 bytes of storage) associated with the cost or utilization, // expressed as a fraction of total resources available. Utilization From 0c82663a5b32fe6423d1e0cee2158fe3f94fe3d7 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Tue, 16 Apr 2019 17:44:20 -0700 Subject: [PATCH 07/11] reword the service comments Signed-off-by: Chengyuan Zhang --- api/envoy/service/load_stats/v2alpha/orca.proto | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/api/envoy/service/load_stats/v2alpha/orca.proto b/api/envoy/service/load_stats/v2alpha/orca.proto index be18cc1566d1..86a1411f8e60 100644 --- a/api/envoy/service/load_stats/v2alpha/orca.proto +++ b/api/envoy/service/load_stats/v2alpha/orca.proto @@ -11,8 +11,14 @@ import "google/protobuf/duration.proto"; import "validate/validate.proto"; -// Out-of-band (OOB) load reporting service for frontends to periodically get -// load information from backends. +// Out-of-band (OOB) load reporting service for the additional load reporting +// agent that does not sit in the request path. Reports are periodically sampled +// with sufficient frequency to provide temporal association with requests. +// OOB reporting compensates the limitation of in-band reporting in revealing +// costs for backends that do not provide a steady stream of telemetry such as +// long running stream operations and zero QPS services. This is a server +// streaming service, client needs to terminate current RPC and initiate +// a new call to change backend reporting frequency. service OpenRcaService { rpc StreamCoreMetrics(OrcaLoadReportRequest) returns (stream OrcaLoadReport); } From 3f59df8b35c467e35fcbfd81fab9691af679141a Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Tue, 16 Apr 2019 18:16:41 -0700 Subject: [PATCH 08/11] split OrcaLoadReport message into seperate proto Signed-off-by: Chengyuan Zhang --- api/envoy/data/orca/v1/BUILD | 16 +++++++++++ api/envoy/data/orca/v1/orca_load_report.proto | 28 +++++++++++++++++++ .../{load_stats/v2alpha => orca/v1}/BUILD | 6 ++++ .../v2alpha => orca/v1}/orca.proto | 28 ++++--------------- 4 files changed, 56 insertions(+), 22 deletions(-) create mode 100644 api/envoy/data/orca/v1/BUILD create mode 100644 api/envoy/data/orca/v1/orca_load_report.proto rename api/envoy/service/{load_stats/v2alpha => orca/v1}/BUILD (69%) rename api/envoy/service/{load_stats/v2alpha => orca/v1}/orca.proto (51%) diff --git a/api/envoy/data/orca/v1/BUILD b/api/envoy/data/orca/v1/BUILD new file mode 100644 index 000000000000..cc70388bf548 --- /dev/null +++ b/api/envoy/data/orca/v1/BUILD @@ -0,0 +1,16 @@ +load("@envoy_api//bazel:api_build_system.bzl", "api_go_proto_library", "api_proto_library_internal") + +licenses(["notice"]) # Apache 2 + +api_proto_library( + name = "orca_load_report", + srcs = ["orca_load_report.proto"], + visibility = [ + "//visibility:public", + ], +) + +api_go_proto_library( + name = "orca_load_report", + proto = ":orca_load_report", +) \ No newline at end of file diff --git a/api/envoy/data/orca/v1/orca_load_report.proto b/api/envoy/data/orca/v1/orca_load_report.proto new file mode 100644 index 000000000000..e1d14c41f963 --- /dev/null +++ b/api/envoy/data/orca/v1/orca_load_report.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; + +package envoy.data.orca.v1; + +option java_outer_classname = "OrcaLoadReportProto"; +option java_multiple_files = true; +option java_package = "io.envoyproxy.envoy.data.orca.v1"; +option go_package = "v1"; + +import "validate/validate.proto"; + +message OrcaLoadReport { + // CPU utilization expressed as a fraction of available CPU resources. This + // should be derived from a sample or measurement taken during the request. + double cpu_utilization = 1 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; + + // Memory utilization expressed as a fraction of available memory + // resources. This should be derived from a sample or measurement taken + // during the request. + double mem_utilization = 2 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; + + // Application specific requests costs. Values may be absolute costs (e.g. + // 3487 bytes of storage) associated with the cost or utilization, + // expressed as a fraction of total resources available. Utilization + // metrics should be derived from a sample or measurement taken + // during the request. + map request_cost_or_utilization = 5; +} \ No newline at end of file diff --git a/api/envoy/service/load_stats/v2alpha/BUILD b/api/envoy/service/orca/v1/BUILD similarity index 69% rename from api/envoy/service/load_stats/v2alpha/BUILD rename to api/envoy/service/orca/v1/BUILD index 79c59d338570..6f524b055adb 100644 --- a/api/envoy/service/load_stats/v2alpha/BUILD +++ b/api/envoy/service/orca/v1/BUILD @@ -6,9 +6,15 @@ api_proto_library_internal( name = "orca", srcs = ["orca.proto"], has_services = 1, + deps = [ + "//envoy/data/orca/v1:orca_load_report", + ], ) api_go_grpc_library( name = "orca", proto = ":orca", + deps = [ + "//envoy/data/orca/v1:orca_load_report", + ], ) diff --git a/api/envoy/service/load_stats/v2alpha/orca.proto b/api/envoy/service/orca/v1/orca.proto similarity index 51% rename from api/envoy/service/load_stats/v2alpha/orca.proto rename to api/envoy/service/orca/v1/orca.proto index 86a1411f8e60..0414cfb872ad 100644 --- a/api/envoy/service/load_stats/v2alpha/orca.proto +++ b/api/envoy/service/orca/v1/orca.proto @@ -1,11 +1,13 @@ syntax = "proto3"; -package envoy.service.load_stats.v2alpha; +package envoy.service.orca.v1; option java_outer_classname = "OpenRcaProto"; option java_multiple_files = true; -option java_package = "io.envoyproxy.envoy.service.load_stats.v2alpha"; -option go_package = "v2alpha"; +option java_package = "io.envoyproxy.envoy.service.orca.v1"; +option go_package = "v1"; + +import "envoy/data/orca/v1/orca_load_report.proto"; import "google/protobuf/duration.proto"; @@ -20,7 +22,7 @@ import "validate/validate.proto"; // streaming service, client needs to terminate current RPC and initiate // a new call to change backend reporting frequency. service OpenRcaService { - rpc StreamCoreMetrics(OrcaLoadReportRequest) returns (stream OrcaLoadReport); + rpc StreamCoreMetrics (OrcaLoadReportRequest) returns (stream envoy.data.orca.v1.OrcaLoadReport); } message OrcaLoadReportRequest { @@ -31,21 +33,3 @@ message OrcaLoadReportRequest { // the client to selectively obtain a subset of tracked costs. repeated string request_cost_names = 2; } - -message OrcaLoadReport { - // CPU utilization expressed as a fraction of available CPU resources. This - // should be derived from a sample or measurement taken during the request. - double cpu_utilization = 1 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; - - // Memory utilization expressed as a fraction of available memory - // resources. This should be derived from a sample or measurement taken - // during the request. - double mem_utilization = 2 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; - - // Application specific requests costs. Values may be absolute costs (e.g. - // 3487 bytes of storage) associated with the cost or utilization, - // expressed as a fraction of total resources available. Utilization - // metrics should be derived from a sample or measurement taken - // during the request. - map request_cost_or_utilization = 5; -} \ No newline at end of file From 89617a17e4c083ccaa901b9faef3eb69a94f637f Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Tue, 16 Apr 2019 22:00:26 -0700 Subject: [PATCH 09/11] moved ORCA protos into udpa directory Signed-off-by: Chengyuan Zhang --- api/{envoy => udpa}/data/orca/v1/BUILD | 4 ++-- .../data/orca/v1/orca_load_report.proto | 6 +++--- api/{envoy => udpa}/service/orca/v1/BUILD | 6 +++--- api/{envoy => udpa}/service/orca/v1/orca.proto | 10 +++++----- 4 files changed, 13 insertions(+), 13 deletions(-) rename api/{envoy => udpa}/data/orca/v1/BUILD (89%) rename api/{envoy => udpa}/data/orca/v1/orca_load_report.proto (87%) rename api/{envoy => udpa}/service/orca/v1/BUILD (65%) rename api/{envoy => udpa}/service/orca/v1/orca.proto (80%) diff --git a/api/envoy/data/orca/v1/BUILD b/api/udpa/data/orca/v1/BUILD similarity index 89% rename from api/envoy/data/orca/v1/BUILD rename to api/udpa/data/orca/v1/BUILD index cc70388bf548..096ca28bac3b 100644 --- a/api/envoy/data/orca/v1/BUILD +++ b/api/udpa/data/orca/v1/BUILD @@ -1,4 +1,4 @@ -load("@envoy_api//bazel:api_build_system.bzl", "api_go_proto_library", "api_proto_library_internal") +load("@envoy_api//bazel:api_build_system.bzl", "api_go_proto_library", "api_proto_library") licenses(["notice"]) # Apache 2 @@ -13,4 +13,4 @@ api_proto_library( api_go_proto_library( name = "orca_load_report", proto = ":orca_load_report", -) \ No newline at end of file +) diff --git a/api/envoy/data/orca/v1/orca_load_report.proto b/api/udpa/data/orca/v1/orca_load_report.proto similarity index 87% rename from api/envoy/data/orca/v1/orca_load_report.proto rename to api/udpa/data/orca/v1/orca_load_report.proto index e1d14c41f963..3269082b1a3c 100644 --- a/api/envoy/data/orca/v1/orca_load_report.proto +++ b/api/udpa/data/orca/v1/orca_load_report.proto @@ -1,10 +1,10 @@ syntax = "proto3"; -package envoy.data.orca.v1; +package udpa.data.orca.v1; option java_outer_classname = "OrcaLoadReportProto"; option java_multiple_files = true; -option java_package = "io.envoyproxy.envoy.data.orca.v1"; +option java_package = "io.envoyproxy.udpa.data.orca.v1"; option go_package = "v1"; import "validate/validate.proto"; @@ -24,5 +24,5 @@ message OrcaLoadReport { // expressed as a fraction of total resources available. Utilization // metrics should be derived from a sample or measurement taken // during the request. - map request_cost_or_utilization = 5; + map request_cost_or_utilization = 3; } \ No newline at end of file diff --git a/api/envoy/service/orca/v1/BUILD b/api/udpa/service/orca/v1/BUILD similarity index 65% rename from api/envoy/service/orca/v1/BUILD rename to api/udpa/service/orca/v1/BUILD index 6f524b055adb..72543e809221 100644 --- a/api/envoy/service/orca/v1/BUILD +++ b/api/udpa/service/orca/v1/BUILD @@ -1,4 +1,4 @@ -load("@envoy_api//bazel:api_build_system.bzl", "api_go_grpc_library", "api_go_proto_library", "api_proto_library_internal") +load("@envoy_api//bazel:api_build_system.bzl", "api_go_grpc_library", "api_proto_library_internal") licenses(["notice"]) # Apache 2 @@ -7,7 +7,7 @@ api_proto_library_internal( srcs = ["orca.proto"], has_services = 1, deps = [ - "//envoy/data/orca/v1:orca_load_report", + "//udpa/data/orca/v1:orca_load_report", ], ) @@ -15,6 +15,6 @@ api_go_grpc_library( name = "orca", proto = ":orca", deps = [ - "//envoy/data/orca/v1:orca_load_report", + "//udpa/data/orca/v1:orca_load_report_go_proto", ], ) diff --git a/api/envoy/service/orca/v1/orca.proto b/api/udpa/service/orca/v1/orca.proto similarity index 80% rename from api/envoy/service/orca/v1/orca.proto rename to api/udpa/service/orca/v1/orca.proto index 0414cfb872ad..66fab97470e4 100644 --- a/api/envoy/service/orca/v1/orca.proto +++ b/api/udpa/service/orca/v1/orca.proto @@ -1,13 +1,13 @@ syntax = "proto3"; -package envoy.service.orca.v1; +package udpa.service.orca.v1; -option java_outer_classname = "OpenRcaProto"; +option java_outer_classname = "OrcaProto"; option java_multiple_files = true; -option java_package = "io.envoyproxy.envoy.service.orca.v1"; +option java_package = "io.envoyproxy.udpa.service.orca.v1"; option go_package = "v1"; -import "envoy/data/orca/v1/orca_load_report.proto"; +import "udpa/data/orca/v1/orca_load_report.proto"; import "google/protobuf/duration.proto"; @@ -22,7 +22,7 @@ import "validate/validate.proto"; // streaming service, client needs to terminate current RPC and initiate // a new call to change backend reporting frequency. service OpenRcaService { - rpc StreamCoreMetrics (OrcaLoadReportRequest) returns (stream envoy.data.orca.v1.OrcaLoadReport); + rpc StreamCoreMetrics(OrcaLoadReportRequest) returns (stream udpa.data.orca.v1.OrcaLoadReport); } message OrcaLoadReportRequest { From f71f81ca7a2c83c77a83cfff4e9cabe984b9976c Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Wed, 17 Apr 2019 13:01:56 -0700 Subject: [PATCH 10/11] fixed comment grammar and add reference to design doc Signed-off-by: Chengyuan Zhang --- api/udpa/data/orca/v1/orca_load_report.proto | 7 +++++-- api/udpa/service/orca/v1/orca.proto | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/api/udpa/data/orca/v1/orca_load_report.proto b/api/udpa/data/orca/v1/orca_load_report.proto index 3269082b1a3c..9ac24b843cd8 100644 --- a/api/udpa/data/orca/v1/orca_load_report.proto +++ b/api/udpa/data/orca/v1/orca_load_report.proto @@ -9,6 +9,9 @@ option go_package = "v1"; import "validate/validate.proto"; +// See section `ORCA lad report format` of the design document in +// :ref:`https://github.com/envoyproxy/envoy/issues/6614`. + message OrcaLoadReport { // CPU utilization expressed as a fraction of available CPU resources. This // should be derived from a sample or measurement taken during the request. @@ -19,8 +22,8 @@ message OrcaLoadReport { // during the request. double mem_utilization = 2 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; - // Application specific requests costs. Values may be absolute costs (e.g. - // 3487 bytes of storage) associated with the cost or utilization, + // Application specific requests costs. Each value may be an absolute cost (e.g. + // 3487 bytes of storage) or utilization associated with the request, // expressed as a fraction of total resources available. Utilization // metrics should be derived from a sample or measurement taken // during the request. diff --git a/api/udpa/service/orca/v1/orca.proto b/api/udpa/service/orca/v1/orca.proto index 66fab97470e4..87871d209a4c 100644 --- a/api/udpa/service/orca/v1/orca.proto +++ b/api/udpa/service/orca/v1/orca.proto @@ -13,6 +13,9 @@ import "google/protobuf/duration.proto"; import "validate/validate.proto"; +// See section `Out-of-band (OOB) reporting` of the design document in +// :ref:`https://github.com/envoyproxy/envoy/issues/6614`. + // Out-of-band (OOB) load reporting service for the additional load reporting // agent that does not sit in the request path. Reports are periodically sampled // with sufficient frequency to provide temporal association with requests. From 26c75a61f1e3f06c6adbcca511319d3e51b63e23 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Wed, 17 Apr 2019 13:02:30 -0700 Subject: [PATCH 11/11] add keywords to pass spellchecking Signed-off-by: Chengyuan Zhang --- api/udpa/data/orca/v1/orca_load_report.proto | 2 +- tools/spelling_dictionary.txt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/udpa/data/orca/v1/orca_load_report.proto b/api/udpa/data/orca/v1/orca_load_report.proto index 9ac24b843cd8..bed48ed2a88e 100644 --- a/api/udpa/data/orca/v1/orca_load_report.proto +++ b/api/udpa/data/orca/v1/orca_load_report.proto @@ -9,7 +9,7 @@ option go_package = "v1"; import "validate/validate.proto"; -// See section `ORCA lad report format` of the design document in +// See section `ORCA load report format` of the design document in // :ref:`https://github.com/envoyproxy/envoy/issues/6614`. message OrcaLoadReport { diff --git a/tools/spelling_dictionary.txt b/tools/spelling_dictionary.txt index bd4a33889dd6..25c768b3558d 100644 --- a/tools/spelling_dictionary.txt +++ b/tools/spelling_dictionary.txt @@ -160,8 +160,10 @@ NUL Nilsson OCSP OK +OOB OOM OOMs +ORCA OS OSI OSS @@ -181,6 +183,7 @@ POSTs PREBIND PRNG PROT +QPS QUIC RAII RANLUX