@@ -946,6 +946,74 @@ message OutlierDetection {
946946 // disabled by setting it to 0%. The default is 0% as it's not typically
947947 // applicable in k8s environments with few pods per service.
948948 int32 min_health_percent = 5 ;
949+
950+ // FailurePercent Algorithm for Grpc-xds proxyless for deciding
951+ // if the host is an outlier or not.
952+ FailurePercentageEjection failure_percentage_ejection = 10 ;
953+
954+ // SuccessRateEjection Algorithm for Grpc-xds proxyless for deciding
955+ // if the host is an outlier or not.
956+ SuccessRateEjection success_rate_ejection = 11 ;
957+ }
958+
959+ // Parameters for the failure percentage algorithm.
960+ // This algorithm ejects individual endpoints whose failure rate is greater than
961+ // some threshold, independently of any other endpoint
962+ // Defaults to values declared in envoy.config.cluster.v3.OutlierDetection.SuccessRateEjection
963+ message FailurePercentageEjection {
964+ // The failure percentage to use when determining failure percentage-based outlier detection. If
965+ // the failure percentage of a given address is greater than or equal to this value, it will be
966+ // ejected.
967+ google.protobuf.UInt32Value threshold = 1 ;
968+
969+ // The % chance that an address will be actually ejected when an outlier status is detected through
970+ // failure percentage statistics. This setting can be used to disable ejection or to ramp it up
971+ // slowly.
972+ google.protobuf.UInt32Value enforcement_percentage = 2 ;
973+
974+ // The minimum number of addresses in order to perform failure percentage-based ejection.
975+ // If the total number of addresses is less than this value, failure percentage-based
976+ // ejection will not be performed.
977+ google.protobuf.UInt32Value minimum_hosts = 3 ;
978+
979+ // The minimum number of total requests that must be collected in one interval (as defined by the
980+ // interval duration above) to perform failure percentage-based ejection for this address. If the
981+ // volume is lower than this setting, failure percentage-based ejection will not be performed for
982+ // this host.
983+ google.protobuf.UInt32Value request_volume = 4 ;
984+ }
985+
986+ // Parameters for the success rate ejection algorithm.
987+ // This algorithm monitors the request success rate for all endpoints and
988+ // ejects individual endpoints whose success rates are statistical outliers.
989+ // Defaults to values declared in envoy.config.cluster.v3.OutlierDetection.SuccessRateEjection
990+ message SuccessRateEjection {
991+ // This factor is used to determine the ejection threshold for success rate
992+ // outlier ejection. The ejection threshold is the difference between the
993+ // mean success rate, and the product of this factor and the standard
994+ // deviation of the mean success rate: mean - (stdev *
995+ // success_rate_stdev_factor). This factor is divided by a thousand to get a
996+ // double. That is, if the desired factor is 1.9, the runtime value should
997+ // be 1900.
998+ google.protobuf.UInt32Value stdev_factor = 1 ;
999+
1000+ // The % chance that an address will be actually ejected when an outlier status
1001+ // is detected through success rate statistics. This setting can be used to
1002+ // disable ejection or to ramp it up slowly.
1003+ google.protobuf.UInt32Value enforcement_percentage = 2 ;
1004+
1005+ // The number of addresses that must have enough request volume to
1006+ // detect success rate outliers. If the number of addresses is less than this
1007+ // setting, outlier detection via success rate statistics is not performed
1008+ // for any addresses.
1009+ google.protobuf.UInt32Value minimum_hosts = 3 ;
1010+
1011+ // The minimum number of total requests that must be collected in one
1012+ // interval (as defined by the interval duration above) to include this address
1013+ // in success rate based outlier detection. If the volume is lower than this
1014+ // setting, outlier detection via success rate statistics is not performed
1015+ // for that address.
1016+ google.protobuf.UInt32Value request_volume = 4 ;
9491017}
9501018
9511019// SSL/TLS related settings for upstream connections. See Envoy's [TLS
0 commit comments