Class Cluster.SlowStartConfig

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cluster.SlowStartConfigOrBuilder, java.io.Serializable
    Enclosing class:
    Cluster

    public static final class Cluster.SlowStartConfig
    extends com.google.protobuf.GeneratedMessage
    implements Cluster.SlowStartConfigOrBuilder
     Configuration for :ref:`slow start mode <arch_overview_load_balancing_slow_start>`.
     
    Protobuf type envoy.config.cluster.v3.Cluster.SlowStartConfig
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Cluster.SlowStartConfig.Builder
      Configuration for :ref:`slow start mode <arch_overview_load_balancing_slow_start>`.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage

        com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,​T extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage

        com.google.protobuf.AbstractMessage.BuilderParent
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private SlowStartConfig()  
      private SlowStartConfig​(com.google.protobuf.GeneratedMessage.Builder<?> builder)  
    • Field Detail

      • bitField0_

        private int bitField0_
      • SLOW_START_WINDOW_FIELD_NUMBER

        public static final int SLOW_START_WINDOW_FIELD_NUMBER
        See Also:
        Constant Field Values
      • slowStartWindow_

        private com.google.protobuf.Duration slowStartWindow_
      • AGGRESSION_FIELD_NUMBER

        public static final int AGGRESSION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MIN_WEIGHT_PERCENT_FIELD_NUMBER

        public static final int MIN_WEIGHT_PERCENT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • minWeightPercent_

        private Percent minWeightPercent_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
    • Constructor Detail

      • SlowStartConfig

        private SlowStartConfig​(com.google.protobuf.GeneratedMessage.Builder<?> builder)
      • SlowStartConfig

        private SlowStartConfig()
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
      • hasSlowStartWindow

        public boolean hasSlowStartWindow()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
        Specified by:
        hasSlowStartWindow in interface Cluster.SlowStartConfigOrBuilder
        Returns:
        Whether the slowStartWindow field is set.
      • getSlowStartWindow

        public com.google.protobuf.Duration getSlowStartWindow()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
        Specified by:
        getSlowStartWindow in interface Cluster.SlowStartConfigOrBuilder
        Returns:
        The slowStartWindow.
      • getSlowStartWindowOrBuilder

        public com.google.protobuf.DurationOrBuilder getSlowStartWindowOrBuilder()
         Represents the size of slow start window.
         If set, the newly created host remains in slow start mode starting from its creation time
         for the duration of slow start window.
         
        .google.protobuf.Duration slow_start_window = 1;
        Specified by:
        getSlowStartWindowOrBuilder in interface Cluster.SlowStartConfigOrBuilder
      • hasAggression

        public boolean hasAggression()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
        Specified by:
        hasAggression in interface Cluster.SlowStartConfigOrBuilder
        Returns:
        Whether the aggression field is set.
      • getAggression

        public RuntimeDouble getAggression()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
        Specified by:
        getAggression in interface Cluster.SlowStartConfigOrBuilder
        Returns:
        The aggression.
      • getAggressionOrBuilder

        public RuntimeDoubleOrBuilder getAggressionOrBuilder()
         This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
         so that endpoint would get linearly increasing amount of traffic.
         When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
         The value of aggression parameter should be greater than 0.0.
         By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
        
         During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
         ``new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))``,
         where ``time_factor=(time_since_start_seconds / slow_start_time_seconds)``.
        
         As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
         Once host exits slow start, time_factor and aggression no longer affect its weight.
         
        .envoy.config.core.v3.RuntimeDouble aggression = 2;
        Specified by:
        getAggressionOrBuilder in interface Cluster.SlowStartConfigOrBuilder
      • hasMinWeightPercent

        public boolean hasMinWeightPercent()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
        Specified by:
        hasMinWeightPercent in interface Cluster.SlowStartConfigOrBuilder
        Returns:
        Whether the minWeightPercent field is set.
      • getMinWeightPercent

        public Percent getMinWeightPercent()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
        Specified by:
        getMinWeightPercent in interface Cluster.SlowStartConfigOrBuilder
        Returns:
        The minWeightPercent.
      • getMinWeightPercentOrBuilder

        public PercentOrBuilder getMinWeightPercentOrBuilder()
         Configures the minimum percentage of origin weight that avoids too small new weight,
         which may cause endpoints in slow start mode receive no traffic in slow start window.
         If not specified, the default is 10%.
         
        .envoy.type.v3.Percent min_weight_percent = 3;
        Specified by:
        getMinWeightPercentOrBuilder in interface Cluster.SlowStartConfigOrBuilder
      • isInitialized

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

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

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

        public boolean equals​(java.lang.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 Cluster.SlowStartConfig parseFrom​(java.nio.ByteBuffer data)
                                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

        public static Cluster.SlowStartConfig parseFrom​(java.io.InputStream input)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Cluster.SlowStartConfig parseFrom​(java.io.InputStream input,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Cluster.SlowStartConfig parseDelimitedFrom​(java.io.InputStream input)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Cluster.SlowStartConfig parseDelimitedFrom​(java.io.InputStream input,
                                                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Cluster.SlowStartConfig parseFrom​(com.google.protobuf.CodedInputStream input)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

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

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

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

        protected Cluster.SlowStartConfig.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • getParserForType

        public com.google.protobuf.Parser<Cluster.SlowStartConfig> 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.GeneratedMessage
      • getDefaultInstanceForType

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