api/build: migrate UDPA proto tree to external cncf/udpa repository. (#8017)
This is a one-time movement of all UDPA content from envoyproxy/envoy to cncf/udpa. The permanent home of UDPA will be https://github.com/cncf/udpa. Risk level: Low Testing: Added UDPA service entry to build_test. Signed-off-by: Harvey Tuch <htuch@google.com> Mirrored from https://github.com/envoyproxy/envoy @ e67923fc0b60d0cdf3935fcb30af61d131301fadpull/620/head
parent
dbb27609fc
commit
50e32ec5ee
9 changed files with 16 additions and 111 deletions
@ -1,16 +0,0 @@ |
||||
load("@envoy_api//bazel:api_build_system.bzl", "api_go_proto_library", "api_proto_library") |
||||
|
||||
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", |
||||
) |
@ -1,36 +0,0 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package udpa.data.orca.v1; |
||||
|
||||
option java_outer_classname = "OrcaLoadReportProto"; |
||||
option java_multiple_files = true; |
||||
option java_package = "io.envoyproxy.udpa.data.orca.v1"; |
||||
option go_package = "v1"; |
||||
|
||||
import "validate/validate.proto"; |
||||
|
||||
// See section `ORCA load 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 the latest sample or measurement. |
||||
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 the latest sample or measurement. |
||||
double mem_utilization = 2 [(validate.rules).double.gte = 0, (validate.rules).double.lte = 1]; |
||||
|
||||
// Total RPS being served by an endpoint. This should cover all services that an endpoint is |
||||
// responsible for. |
||||
uint64 rps = 3; |
||||
|
||||
// Application specific requests costs. Each value is an absolute cost (e.g. 3487 bytes of |
||||
// storage) associated with the request. |
||||
map<string, double> request_cost = 4; |
||||
|
||||
// Resource utilization values. Each value is expressed as a fraction of total resources |
||||
// available, derived from the latest sample or measurement. |
||||
map<string, double> utilization = 5 |
||||
[(validate.rules).map.values.double.gte = 0, (validate.rules).map.values.double.lte = 1]; |
||||
} |
@ -1,20 +0,0 @@ |
||||
load("@envoy_api//bazel:api_build_system.bzl", "api_go_grpc_library", "api_proto_library_internal") |
||||
|
||||
licenses(["notice"]) # Apache 2 |
||||
|
||||
api_proto_library_internal( |
||||
name = "orca", |
||||
srcs = ["orca.proto"], |
||||
has_services = 1, |
||||
deps = [ |
||||
"//udpa/data/orca/v1:orca_load_report", |
||||
], |
||||
) |
||||
|
||||
api_go_grpc_library( |
||||
name = "orca", |
||||
proto = ":orca", |
||||
deps = [ |
||||
"//udpa/data/orca/v1:orca_load_report_go_proto", |
||||
], |
||||
) |
@ -1,38 +0,0 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package udpa.service.orca.v1; |
||||
|
||||
option java_outer_classname = "OrcaProto"; |
||||
option java_multiple_files = true; |
||||
option java_package = "io.envoyproxy.udpa.service.orca.v1"; |
||||
option go_package = "v1"; |
||||
|
||||
import "udpa/data/orca/v1/orca_load_report.proto"; |
||||
|
||||
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. |
||||
// 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 udpa.data.orca.v1.OrcaLoadReport); |
||||
} |
||||
|
||||
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 |
||||
// 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; |
||||
} |
Loading…
Reference in new issue