@@ -946,6 +946,74 @@ message OutlierDetection {
946
946
// disabled by setting it to 0%. The default is 0% as it's not typically
947
947
// applicable in k8s environments with few pods per service.
948
948
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 ;
949
1017
}
950
1018
951
1019
// SSL/TLS related settings for upstream connections. See Envoy's [TLS
0 commit comments