Class Cluster.SlowStartConfig

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cluster.SlowStartConfigOrBuilder, 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:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • bitField0_

      private int bitField0_
    • SLOW_START_WINDOW_FIELD_NUMBER

      public static final int SLOW_START_WINDOW_FIELD_NUMBER
      See Also:
    • slowStartWindow_

      private com.google.protobuf.Duration slowStartWindow_
    • AGGRESSION_FIELD_NUMBER

      public static final int AGGRESSION_FIELD_NUMBER
      See Also:
    • aggression_

      private RuntimeDouble aggression_
    • MIN_WEIGHT_PERCENT_FIELD_NUMBER

      public static final int MIN_WEIGHT_PERCENT_FIELD_NUMBER
      See Also:
    • minWeightPercent_

      private Percent minWeightPercent_
    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final Cluster.SlowStartConfig DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<Cluster.SlowStartConfig> PARSER
  • Constructor Details

    • SlowStartConfig

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

      private SlowStartConfig()
  • Method Details

    • 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 IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      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(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(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster.SlowStartConfig parseFrom(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(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

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

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

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

      public static Cluster.SlowStartConfig parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      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
    • newBuilder

      public static Cluster.SlowStartConfig.Builder newBuilder()
    • newBuilder

      public static Cluster.SlowStartConfig.Builder newBuilder(Cluster.SlowStartConfig prototype)
    • 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
    • getDefaultInstance

      public static Cluster.SlowStartConfig getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<Cluster.SlowStartConfig> parser()
    • 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