Class OutlierDetection

  • All Implemented Interfaces:
    OutlierDetectionOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class OutlierDetection
    extends com.google.protobuf.GeneratedMessageV3
    implements OutlierDetectionOrBuilder
     Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service.
     
    Protobuf type google.cloud.compute.v1.OutlierDetection
    See Also:
    Serialized Form
    • Field Detail

      • BASE_EJECTION_TIME_FIELD_NUMBER

        public static final int BASE_EJECTION_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CONSECUTIVE_ERRORS_FIELD_NUMBER

        public static final int CONSECUTIVE_ERRORS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER

        public static final int CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ENFORCING_CONSECUTIVE_ERRORS_FIELD_NUMBER

        public static final int ENFORCING_CONSECUTIVE_ERRORS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ENFORCING_CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER

        public static final int ENFORCING_CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ENFORCING_SUCCESS_RATE_FIELD_NUMBER

        public static final int ENFORCING_SUCCESS_RATE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_EJECTION_PERCENT_FIELD_NUMBER

        public static final int MAX_EJECTION_PERCENT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SUCCESS_RATE_MINIMUM_HOSTS_FIELD_NUMBER

        public static final int SUCCESS_RATE_MINIMUM_HOSTS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SUCCESS_RATE_REQUEST_VOLUME_FIELD_NUMBER

        public static final int SUCCESS_RATE_REQUEST_VOLUME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SUCCESS_RATE_STDEV_FACTOR_FIELD_NUMBER

        public static final int SUCCESS_RATE_STDEV_FACTOR_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasBaseEjectionTime

        public boolean hasBaseEjectionTime()
         The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a backend endpoint is returned back to the load balancing pool, it can be ejected again in another ejection analysis. Thus, the total ejection time is equal to the base ejection time multiplied by the number of times the backend endpoint has been ejected. Defaults to 30000ms or 30s.
         
        optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;
        Specified by:
        hasBaseEjectionTime in interface OutlierDetectionOrBuilder
        Returns:
        Whether the baseEjectionTime field is set.
      • getBaseEjectionTime

        public Duration getBaseEjectionTime()
         The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a backend endpoint is returned back to the load balancing pool, it can be ejected again in another ejection analysis. Thus, the total ejection time is equal to the base ejection time multiplied by the number of times the backend endpoint has been ejected. Defaults to 30000ms or 30s.
         
        optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;
        Specified by:
        getBaseEjectionTime in interface OutlierDetectionOrBuilder
        Returns:
        The baseEjectionTime.
      • getBaseEjectionTimeOrBuilder

        public DurationOrBuilder getBaseEjectionTimeOrBuilder()
         The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a backend endpoint is returned back to the load balancing pool, it can be ejected again in another ejection analysis. Thus, the total ejection time is equal to the base ejection time multiplied by the number of times the backend endpoint has been ejected. Defaults to 30000ms or 30s.
         
        optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;
        Specified by:
        getBaseEjectionTimeOrBuilder in interface OutlierDetectionOrBuilder
      • hasConsecutiveErrors

        public boolean hasConsecutiveErrors()
         Number of consecutive errors before a backend endpoint is ejected from the load balancing pool. When the backend endpoint is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5.
         
        optional int32 consecutive_errors = 387193248;
        Specified by:
        hasConsecutiveErrors in interface OutlierDetectionOrBuilder
        Returns:
        Whether the consecutiveErrors field is set.
      • getConsecutiveErrors

        public int getConsecutiveErrors()
         Number of consecutive errors before a backend endpoint is ejected from the load balancing pool. When the backend endpoint is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5.
         
        optional int32 consecutive_errors = 387193248;
        Specified by:
        getConsecutiveErrors in interface OutlierDetectionOrBuilder
        Returns:
        The consecutiveErrors.
      • hasConsecutiveGatewayFailure

        public boolean hasConsecutiveGatewayFailure()
         The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3.
         
        optional int32 consecutive_gateway_failure = 417504250;
        Specified by:
        hasConsecutiveGatewayFailure in interface OutlierDetectionOrBuilder
        Returns:
        Whether the consecutiveGatewayFailure field is set.
      • getConsecutiveGatewayFailure

        public int getConsecutiveGatewayFailure()
         The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3.
         
        optional int32 consecutive_gateway_failure = 417504250;
        Specified by:
        getConsecutiveGatewayFailure in interface OutlierDetectionOrBuilder
        Returns:
        The consecutiveGatewayFailure.
      • hasEnforcingConsecutiveErrors

        public boolean hasEnforcingConsecutiveErrors()
         The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0.
         
        optional int32 enforcing_consecutive_errors = 213133760;
        Specified by:
        hasEnforcingConsecutiveErrors in interface OutlierDetectionOrBuilder
        Returns:
        Whether the enforcingConsecutiveErrors field is set.
      • getEnforcingConsecutiveErrors

        public int getEnforcingConsecutiveErrors()
         The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0.
         
        optional int32 enforcing_consecutive_errors = 213133760;
        Specified by:
        getEnforcingConsecutiveErrors in interface OutlierDetectionOrBuilder
        Returns:
        The enforcingConsecutiveErrors.
      • hasEnforcingConsecutiveGatewayFailure

        public boolean hasEnforcingConsecutiveGatewayFailure()
         The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.
         
        optional int32 enforcing_consecutive_gateway_failure = 394440666;
        Specified by:
        hasEnforcingConsecutiveGatewayFailure in interface OutlierDetectionOrBuilder
        Returns:
        Whether the enforcingConsecutiveGatewayFailure field is set.
      • getEnforcingConsecutiveGatewayFailure

        public int getEnforcingConsecutiveGatewayFailure()
         The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.
         
        optional int32 enforcing_consecutive_gateway_failure = 394440666;
        Specified by:
        getEnforcingConsecutiveGatewayFailure in interface OutlierDetectionOrBuilder
        Returns:
        The enforcingConsecutiveGatewayFailure.
      • hasEnforcingSuccessRate

        public boolean hasEnforcingSuccessRate()
         The percentage chance that a backend endpoint will be ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service uses Serverless NEG.
         
        optional int32 enforcing_success_rate = 194508732;
        Specified by:
        hasEnforcingSuccessRate in interface OutlierDetectionOrBuilder
        Returns:
        Whether the enforcingSuccessRate field is set.
      • getEnforcingSuccessRate

        public int getEnforcingSuccessRate()
         The percentage chance that a backend endpoint will be ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service uses Serverless NEG.
         
        optional int32 enforcing_success_rate = 194508732;
        Specified by:
        getEnforcingSuccessRate in interface OutlierDetectionOrBuilder
        Returns:
        The enforcingSuccessRate.
      • hasInterval

        public boolean hasInterval()
         Time interval between ejection analysis sweeps. This can result in both new ejections and backend endpoints being returned to service. The interval is equal to the number of seconds as defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in outlierDetection.interval.nanos. Defaults to 1 second.
         
        optional .google.cloud.compute.v1.Duration interval = 33547461;
        Specified by:
        hasInterval in interface OutlierDetectionOrBuilder
        Returns:
        Whether the interval field is set.
      • getInterval

        public Duration getInterval()
         Time interval between ejection analysis sweeps. This can result in both new ejections and backend endpoints being returned to service. The interval is equal to the number of seconds as defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in outlierDetection.interval.nanos. Defaults to 1 second.
         
        optional .google.cloud.compute.v1.Duration interval = 33547461;
        Specified by:
        getInterval in interface OutlierDetectionOrBuilder
        Returns:
        The interval.
      • getIntervalOrBuilder

        public DurationOrBuilder getIntervalOrBuilder()
         Time interval between ejection analysis sweeps. This can result in both new ejections and backend endpoints being returned to service. The interval is equal to the number of seconds as defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in outlierDetection.interval.nanos. Defaults to 1 second.
         
        optional .google.cloud.compute.v1.Duration interval = 33547461;
        Specified by:
        getIntervalOrBuilder in interface OutlierDetectionOrBuilder
      • hasMaxEjectionPercent

        public boolean hasMaxEjectionPercent()
         Maximum percentage of backend endpoints in the load balancing pool for the backend service that can be ejected if the ejection conditions are met. Defaults to 50%.
         
        optional int32 max_ejection_percent = 18436888;
        Specified by:
        hasMaxEjectionPercent in interface OutlierDetectionOrBuilder
        Returns:
        Whether the maxEjectionPercent field is set.
      • getMaxEjectionPercent

        public int getMaxEjectionPercent()
         Maximum percentage of backend endpoints in the load balancing pool for the backend service that can be ejected if the ejection conditions are met. Defaults to 50%.
         
        optional int32 max_ejection_percent = 18436888;
        Specified by:
        getMaxEjectionPercent in interface OutlierDetectionOrBuilder
        Returns:
        The maxEjectionPercent.
      • hasSuccessRateMinimumHosts

        public boolean hasSuccessRateMinimumHosts()
         The number of backend endpoints in the load balancing pool that must have enough request volume to detect success rate outliers. If the number of backend endpoints is fewer than this setting, outlier detection via success rate statistics is not performed for any backend endpoint in the load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG.
         
        optional int32 success_rate_minimum_hosts = 525766903;
        Specified by:
        hasSuccessRateMinimumHosts in interface OutlierDetectionOrBuilder
        Returns:
        Whether the successRateMinimumHosts field is set.
      • getSuccessRateMinimumHosts

        public int getSuccessRateMinimumHosts()
         The number of backend endpoints in the load balancing pool that must have enough request volume to detect success rate outliers. If the number of backend endpoints is fewer than this setting, outlier detection via success rate statistics is not performed for any backend endpoint in the load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG.
         
        optional int32 success_rate_minimum_hosts = 525766903;
        Specified by:
        getSuccessRateMinimumHosts in interface OutlierDetectionOrBuilder
        Returns:
        The successRateMinimumHosts.
      • hasSuccessRateRequestVolume

        public boolean hasSuccessRateRequestVolume()
         The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this backend endpoint in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that backend endpoint. Defaults to 100. Not supported when the backend service uses Serverless NEG.
         
        optional int32 success_rate_request_volume = 281425357;
        Specified by:
        hasSuccessRateRequestVolume in interface OutlierDetectionOrBuilder
        Returns:
        Whether the successRateRequestVolume field is set.
      • getSuccessRateRequestVolume

        public int getSuccessRateRequestVolume()
         The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this backend endpoint in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that backend endpoint. Defaults to 100. Not supported when the backend service uses Serverless NEG.
         
        optional int32 success_rate_request_volume = 281425357;
        Specified by:
        getSuccessRateRequestVolume in interface OutlierDetectionOrBuilder
        Returns:
        The successRateRequestVolume.
      • hasSuccessRateStdevFactor

        public boolean hasSuccessRateStdevFactor()
         This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * successRateStdevFactor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. Not supported when the backend service uses Serverless NEG.
         
        optional int32 success_rate_stdev_factor = 174735773;
        Specified by:
        hasSuccessRateStdevFactor in interface OutlierDetectionOrBuilder
        Returns:
        Whether the successRateStdevFactor field is set.
      • getSuccessRateStdevFactor

        public int getSuccessRateStdevFactor()
         This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * successRateStdevFactor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. Not supported when the backend service uses Serverless NEG.
         
        optional int32 success_rate_stdev_factor = 174735773;
        Specified by:
        getSuccessRateStdevFactor in interface OutlierDetectionOrBuilder
        Returns:
        The successRateStdevFactor.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static OutlierDetection parseFrom​(ByteBuffer data)
                                          throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static OutlierDetection parseFrom​(ByteBuffer data,
                                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                          throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static OutlierDetection parseFrom​(com.google.protobuf.ByteString data)
                                          throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static OutlierDetection parseFrom​(com.google.protobuf.ByteString data,
                                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                          throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static OutlierDetection parseFrom​(byte[] data)
                                          throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static OutlierDetection parseFrom​(byte[] data,
                                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                          throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static OutlierDetection parseFrom​(com.google.protobuf.CodedInputStream input,
                                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                          throws IOException
        Throws:
        IOException
      • newBuilderForType

        public OutlierDetection.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public OutlierDetection.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected OutlierDetection.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<OutlierDetection> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public OutlierDetection getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder