Class ClientSideWeightedRoundRobin.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
io.envoyproxy.envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,ClientSideWeightedRoundRobinOrBuilder,Cloneable
- Enclosing class:
- ClientSideWeightedRoundRobin
public static final class ClientSideWeightedRoundRobin.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
implements ClientSideWeightedRoundRobinOrBuilder
Configuration for the client_side_weighted_round_robin LB policy. This policy differs from the built-in ROUND_ROBIN policy in terms of how the endpoint weights are determined. In the ROUND_ROBIN policy, the endpoint weights are sent by the control plane via EDS. However, in this policy, the endpoint weights are instead determined via qps (queries per second), eps (errors per second), and utilization metrics sent by the endpoint using the Open Request Cost Aggregation (ORCA) protocol. Utilization is determined by using the ORCA application_utilization field, if set, or else falling back to the cpu_utilization field. All queries count toward qps, regardless of result. Only failed queries count toward eps. A config parameter error_utilization_penalty controls the penalty to adjust endpoint weights using eps and qps. The weight of a given endpoint is computed as: ``qps / (utilization + eps/qps * error_utilization_penalty)``. Note that Envoy will forward the ORCA response headers/trailers from the upstream cluster to the downstream client. This means that if the downstream client is also configured to use ``client_side_weighted_round_robin`` it will load balance against Envoy based on upstream weights. This can happen when Envoy is used as a reverse proxy. To avoid this issue you can configure the :ref:`header_mutation filter <envoy_v3_api_msg_extensions.filters.http.header_mutation.v3.HeaderMutation>` to remove the ORCA payload from the response headers/trailers. See the :ref:`load balancing architecture overview<arch_overview_load_balancing_types>` for more information. [#next-free-field: 9]Protobuf type
envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin-
Method Summary
Modifier and TypeMethodDescriptionBy default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.addMetricNamesForComputingUtilizationBytes(com.google.protobuf.ByteString value) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.Whether to enable out-of-band utilization reporting collection from the endpoints.The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps.clearField(com.google.protobuf.Descriptors.FieldDescriptor field) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) Load reporting interval to request from the server.Configuration for slow start mode.If a given endpoint has not reported load metrics in this long, then we stop using the reported weight.How often endpoint weights are recalculated.clone()com.google.protobuf.DurationA given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.com.google.protobuf.Duration.BuilderA given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.com.google.protobuf.DurationOrBuilderA given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.Descriptorcom.google.protobuf.BoolValueWhether to enable out-of-band utilization reporting collection from the endpoints.com.google.protobuf.BoolValue.BuilderWhether to enable out-of-band utilization reporting collection from the endpoints.com.google.protobuf.BoolValueOrBuilderWhether to enable out-of-band utilization reporting collection from the endpoints.com.google.protobuf.FloatValueThe multiplier used to adjust endpoint weights with the error rate calculated as eps/qps.com.google.protobuf.FloatValue.BuilderThe multiplier used to adjust endpoint weights with the error rate calculated as eps/qps.com.google.protobuf.FloatValueOrBuilderThe multiplier used to adjust endpoint weights with the error rate calculated as eps/qps.getMetricNamesForComputingUtilization(int index) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.com.google.protobuf.ByteStringgetMetricNamesForComputingUtilizationBytes(int index) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.intBy default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.com.google.protobuf.ProtocolStringListBy default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.com.google.protobuf.DurationLoad reporting interval to request from the server.com.google.protobuf.Duration.BuilderLoad reporting interval to request from the server.com.google.protobuf.DurationOrBuilderLoad reporting interval to request from the server.Configuration for slow start mode.Configuration for slow start mode.Configuration for slow start mode.com.google.protobuf.DurationIf a given endpoint has not reported load metrics in this long, then we stop using the reported weight.com.google.protobuf.Duration.BuilderIf a given endpoint has not reported load metrics in this long, then we stop using the reported weight.com.google.protobuf.DurationOrBuilderIf a given endpoint has not reported load metrics in this long, then we stop using the reported weight.com.google.protobuf.DurationHow often endpoint weights are recalculated.com.google.protobuf.Duration.BuilderHow often endpoint weights are recalculated.com.google.protobuf.DurationOrBuilderHow often endpoint weights are recalculated.booleanA given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.booleanWhether to enable out-of-band utilization reporting collection from the endpoints.booleanThe multiplier used to adjust endpoint weights with the error rate calculated as eps/qps.booleanLoad reporting interval to request from the server.booleanConfiguration for slow start mode.booleanIf a given endpoint has not reported load metrics in this long, then we stop using the reported weight.booleanHow often endpoint weights are recalculated.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanmergeBlackoutPeriod(com.google.protobuf.Duration value) A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.mergeEnableOobLoadReport(com.google.protobuf.BoolValue value) Whether to enable out-of-band utilization reporting collection from the endpoints.mergeErrorUtilizationPenalty(com.google.protobuf.FloatValue value) The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps.mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeOobReportingPeriod(com.google.protobuf.Duration value) Load reporting interval to request from the server.Configuration for slow start mode.mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) mergeWeightExpirationPeriod(com.google.protobuf.Duration value) If a given endpoint has not reported load metrics in this long, then we stop using the reported weight.mergeWeightUpdatePeriod(com.google.protobuf.Duration value) How often endpoint weights are recalculated.setBlackoutPeriod(com.google.protobuf.Duration value) A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.setBlackoutPeriod(com.google.protobuf.Duration.Builder builderForValue) A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used.setEnableOobLoadReport(com.google.protobuf.BoolValue value) Whether to enable out-of-band utilization reporting collection from the endpoints.setEnableOobLoadReport(com.google.protobuf.BoolValue.Builder builderForValue) Whether to enable out-of-band utilization reporting collection from the endpoints.setErrorUtilizationPenalty(com.google.protobuf.FloatValue value) The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps.setErrorUtilizationPenalty(com.google.protobuf.FloatValue.Builder builderForValue) The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps.setMetricNamesForComputingUtilization(int index, String value) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint.setOobReportingPeriod(com.google.protobuf.Duration value) Load reporting interval to request from the server.setOobReportingPeriod(com.google.protobuf.Duration.Builder builderForValue) Load reporting interval to request from the server.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) Configuration for slow start mode.setSlowStartConfig(SlowStartConfig.Builder builderForValue) Configuration for slow start mode.setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) setWeightExpirationPeriod(com.google.protobuf.Duration value) If a given endpoint has not reported load metrics in this long, then we stop using the reported weight.setWeightExpirationPeriod(com.google.protobuf.Duration.Builder builderForValue) If a given endpoint has not reported load metrics in this long, then we stop using the reported weight.setWeightUpdatePeriod(com.google.protobuf.Duration value) How often endpoint weights are recalculated.setWeightUpdatePeriod(com.google.protobuf.Duration.Builder builderForValue) How often endpoint weights are recalculated.Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
setField
public ClientSideWeightedRoundRobin.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
clearField
public ClientSideWeightedRoundRobin.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) - Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
clearOneof
public ClientSideWeightedRoundRobin.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) - Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
setRepeatedField
public ClientSideWeightedRoundRobin.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
addRepeatedField
public ClientSideWeightedRoundRobin.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<ClientSideWeightedRoundRobin.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
mergeFrom
public ClientSideWeightedRoundRobin.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<ClientSideWeightedRoundRobin.Builder>- Throws:
IOException
-
hasEnableOobLoadReport
public boolean hasEnableOobLoadReport()Whether to enable out-of-band utilization reporting collection from the endpoints. By default, per-request utilization reporting is used.
.google.protobuf.BoolValue enable_oob_load_report = 1;- Specified by:
hasEnableOobLoadReportin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- Whether the enableOobLoadReport field is set.
-
getEnableOobLoadReport
public com.google.protobuf.BoolValue getEnableOobLoadReport()Whether to enable out-of-band utilization reporting collection from the endpoints. By default, per-request utilization reporting is used.
.google.protobuf.BoolValue enable_oob_load_report = 1;- Specified by:
getEnableOobLoadReportin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- The enableOobLoadReport.
-
setEnableOobLoadReport
public ClientSideWeightedRoundRobin.Builder setEnableOobLoadReport(com.google.protobuf.BoolValue value) Whether to enable out-of-band utilization reporting collection from the endpoints. By default, per-request utilization reporting is used.
.google.protobuf.BoolValue enable_oob_load_report = 1; -
setEnableOobLoadReport
public ClientSideWeightedRoundRobin.Builder setEnableOobLoadReport(com.google.protobuf.BoolValue.Builder builderForValue) Whether to enable out-of-band utilization reporting collection from the endpoints. By default, per-request utilization reporting is used.
.google.protobuf.BoolValue enable_oob_load_report = 1; -
mergeEnableOobLoadReport
public ClientSideWeightedRoundRobin.Builder mergeEnableOobLoadReport(com.google.protobuf.BoolValue value) Whether to enable out-of-band utilization reporting collection from the endpoints. By default, per-request utilization reporting is used.
.google.protobuf.BoolValue enable_oob_load_report = 1; -
clearEnableOobLoadReport
Whether to enable out-of-band utilization reporting collection from the endpoints. By default, per-request utilization reporting is used.
.google.protobuf.BoolValue enable_oob_load_report = 1; -
getEnableOobLoadReportBuilder
public com.google.protobuf.BoolValue.Builder getEnableOobLoadReportBuilder()Whether to enable out-of-band utilization reporting collection from the endpoints. By default, per-request utilization reporting is used.
.google.protobuf.BoolValue enable_oob_load_report = 1; -
getEnableOobLoadReportOrBuilder
public com.google.protobuf.BoolValueOrBuilder getEnableOobLoadReportOrBuilder()Whether to enable out-of-band utilization reporting collection from the endpoints. By default, per-request utilization reporting is used.
.google.protobuf.BoolValue enable_oob_load_report = 1;- Specified by:
getEnableOobLoadReportOrBuilderin interfaceClientSideWeightedRoundRobinOrBuilder
-
hasOobReportingPeriod
public boolean hasOobReportingPeriod()Load reporting interval to request from the server. Note that the server may not provide reports as frequently as the client requests. Used only when enable_oob_load_report is true. Default is 10 seconds.
.google.protobuf.Duration oob_reporting_period = 2;- Specified by:
hasOobReportingPeriodin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- Whether the oobReportingPeriod field is set.
-
getOobReportingPeriod
public com.google.protobuf.Duration getOobReportingPeriod()Load reporting interval to request from the server. Note that the server may not provide reports as frequently as the client requests. Used only when enable_oob_load_report is true. Default is 10 seconds.
.google.protobuf.Duration oob_reporting_period = 2;- Specified by:
getOobReportingPeriodin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- The oobReportingPeriod.
-
setOobReportingPeriod
public ClientSideWeightedRoundRobin.Builder setOobReportingPeriod(com.google.protobuf.Duration value) Load reporting interval to request from the server. Note that the server may not provide reports as frequently as the client requests. Used only when enable_oob_load_report is true. Default is 10 seconds.
.google.protobuf.Duration oob_reporting_period = 2; -
setOobReportingPeriod
public ClientSideWeightedRoundRobin.Builder setOobReportingPeriod(com.google.protobuf.Duration.Builder builderForValue) Load reporting interval to request from the server. Note that the server may not provide reports as frequently as the client requests. Used only when enable_oob_load_report is true. Default is 10 seconds.
.google.protobuf.Duration oob_reporting_period = 2; -
mergeOobReportingPeriod
public ClientSideWeightedRoundRobin.Builder mergeOobReportingPeriod(com.google.protobuf.Duration value) Load reporting interval to request from the server. Note that the server may not provide reports as frequently as the client requests. Used only when enable_oob_load_report is true. Default is 10 seconds.
.google.protobuf.Duration oob_reporting_period = 2; -
clearOobReportingPeriod
Load reporting interval to request from the server. Note that the server may not provide reports as frequently as the client requests. Used only when enable_oob_load_report is true. Default is 10 seconds.
.google.protobuf.Duration oob_reporting_period = 2; -
getOobReportingPeriodBuilder
public com.google.protobuf.Duration.Builder getOobReportingPeriodBuilder()Load reporting interval to request from the server. Note that the server may not provide reports as frequently as the client requests. Used only when enable_oob_load_report is true. Default is 10 seconds.
.google.protobuf.Duration oob_reporting_period = 2; -
getOobReportingPeriodOrBuilder
public com.google.protobuf.DurationOrBuilder getOobReportingPeriodOrBuilder()Load reporting interval to request from the server. Note that the server may not provide reports as frequently as the client requests. Used only when enable_oob_load_report is true. Default is 10 seconds.
.google.protobuf.Duration oob_reporting_period = 2;- Specified by:
getOobReportingPeriodOrBuilderin interfaceClientSideWeightedRoundRobinOrBuilder
-
hasBlackoutPeriod
public boolean hasBlackoutPeriod()A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used. This avoids churn when the set of endpoint addresses changes. Takes effect both immediately after we establish a connection to an endpoint and after weight_expiration_period has caused us to stop using the most recent load metrics. Default is 10 seconds.
.google.protobuf.Duration blackout_period = 3;- Specified by:
hasBlackoutPeriodin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- Whether the blackoutPeriod field is set.
-
getBlackoutPeriod
public com.google.protobuf.Duration getBlackoutPeriod()A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used. This avoids churn when the set of endpoint addresses changes. Takes effect both immediately after we establish a connection to an endpoint and after weight_expiration_period has caused us to stop using the most recent load metrics. Default is 10 seconds.
.google.protobuf.Duration blackout_period = 3;- Specified by:
getBlackoutPeriodin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- The blackoutPeriod.
-
setBlackoutPeriod
A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used. This avoids churn when the set of endpoint addresses changes. Takes effect both immediately after we establish a connection to an endpoint and after weight_expiration_period has caused us to stop using the most recent load metrics. Default is 10 seconds.
.google.protobuf.Duration blackout_period = 3; -
setBlackoutPeriod
public ClientSideWeightedRoundRobin.Builder setBlackoutPeriod(com.google.protobuf.Duration.Builder builderForValue) A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used. This avoids churn when the set of endpoint addresses changes. Takes effect both immediately after we establish a connection to an endpoint and after weight_expiration_period has caused us to stop using the most recent load metrics. Default is 10 seconds.
.google.protobuf.Duration blackout_period = 3; -
mergeBlackoutPeriod
A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used. This avoids churn when the set of endpoint addresses changes. Takes effect both immediately after we establish a connection to an endpoint and after weight_expiration_period has caused us to stop using the most recent load metrics. Default is 10 seconds.
.google.protobuf.Duration blackout_period = 3; -
clearBlackoutPeriod
A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used. This avoids churn when the set of endpoint addresses changes. Takes effect both immediately after we establish a connection to an endpoint and after weight_expiration_period has caused us to stop using the most recent load metrics. Default is 10 seconds.
.google.protobuf.Duration blackout_period = 3; -
getBlackoutPeriodBuilder
public com.google.protobuf.Duration.Builder getBlackoutPeriodBuilder()A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used. This avoids churn when the set of endpoint addresses changes. Takes effect both immediately after we establish a connection to an endpoint and after weight_expiration_period has caused us to stop using the most recent load metrics. Default is 10 seconds.
.google.protobuf.Duration blackout_period = 3; -
getBlackoutPeriodOrBuilder
public com.google.protobuf.DurationOrBuilder getBlackoutPeriodOrBuilder()A given endpoint must report load metrics continuously for at least this long before the endpoint weight will be used. This avoids churn when the set of endpoint addresses changes. Takes effect both immediately after we establish a connection to an endpoint and after weight_expiration_period has caused us to stop using the most recent load metrics. Default is 10 seconds.
.google.protobuf.Duration blackout_period = 3;- Specified by:
getBlackoutPeriodOrBuilderin interfaceClientSideWeightedRoundRobinOrBuilder
-
hasWeightExpirationPeriod
public boolean hasWeightExpirationPeriod()If a given endpoint has not reported load metrics in this long, then we stop using the reported weight. This ensures that we do not continue to use very stale weights. Once we stop using a stale value, if we later start seeing fresh reports again, the blackout_period applies. Defaults to 3 minutes.
.google.protobuf.Duration weight_expiration_period = 4;- Specified by:
hasWeightExpirationPeriodin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- Whether the weightExpirationPeriod field is set.
-
getWeightExpirationPeriod
public com.google.protobuf.Duration getWeightExpirationPeriod()If a given endpoint has not reported load metrics in this long, then we stop using the reported weight. This ensures that we do not continue to use very stale weights. Once we stop using a stale value, if we later start seeing fresh reports again, the blackout_period applies. Defaults to 3 minutes.
.google.protobuf.Duration weight_expiration_period = 4;- Specified by:
getWeightExpirationPeriodin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- The weightExpirationPeriod.
-
setWeightExpirationPeriod
public ClientSideWeightedRoundRobin.Builder setWeightExpirationPeriod(com.google.protobuf.Duration value) If a given endpoint has not reported load metrics in this long, then we stop using the reported weight. This ensures that we do not continue to use very stale weights. Once we stop using a stale value, if we later start seeing fresh reports again, the blackout_period applies. Defaults to 3 minutes.
.google.protobuf.Duration weight_expiration_period = 4; -
setWeightExpirationPeriod
public ClientSideWeightedRoundRobin.Builder setWeightExpirationPeriod(com.google.protobuf.Duration.Builder builderForValue) If a given endpoint has not reported load metrics in this long, then we stop using the reported weight. This ensures that we do not continue to use very stale weights. Once we stop using a stale value, if we later start seeing fresh reports again, the blackout_period applies. Defaults to 3 minutes.
.google.protobuf.Duration weight_expiration_period = 4; -
mergeWeightExpirationPeriod
public ClientSideWeightedRoundRobin.Builder mergeWeightExpirationPeriod(com.google.protobuf.Duration value) If a given endpoint has not reported load metrics in this long, then we stop using the reported weight. This ensures that we do not continue to use very stale weights. Once we stop using a stale value, if we later start seeing fresh reports again, the blackout_period applies. Defaults to 3 minutes.
.google.protobuf.Duration weight_expiration_period = 4; -
clearWeightExpirationPeriod
If a given endpoint has not reported load metrics in this long, then we stop using the reported weight. This ensures that we do not continue to use very stale weights. Once we stop using a stale value, if we later start seeing fresh reports again, the blackout_period applies. Defaults to 3 minutes.
.google.protobuf.Duration weight_expiration_period = 4; -
getWeightExpirationPeriodBuilder
public com.google.protobuf.Duration.Builder getWeightExpirationPeriodBuilder()If a given endpoint has not reported load metrics in this long, then we stop using the reported weight. This ensures that we do not continue to use very stale weights. Once we stop using a stale value, if we later start seeing fresh reports again, the blackout_period applies. Defaults to 3 minutes.
.google.protobuf.Duration weight_expiration_period = 4; -
getWeightExpirationPeriodOrBuilder
public com.google.protobuf.DurationOrBuilder getWeightExpirationPeriodOrBuilder()If a given endpoint has not reported load metrics in this long, then we stop using the reported weight. This ensures that we do not continue to use very stale weights. Once we stop using a stale value, if we later start seeing fresh reports again, the blackout_period applies. Defaults to 3 minutes.
.google.protobuf.Duration weight_expiration_period = 4;- Specified by:
getWeightExpirationPeriodOrBuilderin interfaceClientSideWeightedRoundRobinOrBuilder
-
hasWeightUpdatePeriod
public boolean hasWeightUpdatePeriod()How often endpoint weights are recalculated. Values less than 100ms are capped at 100ms. Default is 1 second.
.google.protobuf.Duration weight_update_period = 5;- Specified by:
hasWeightUpdatePeriodin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- Whether the weightUpdatePeriod field is set.
-
getWeightUpdatePeriod
public com.google.protobuf.Duration getWeightUpdatePeriod()How often endpoint weights are recalculated. Values less than 100ms are capped at 100ms. Default is 1 second.
.google.protobuf.Duration weight_update_period = 5;- Specified by:
getWeightUpdatePeriodin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- The weightUpdatePeriod.
-
setWeightUpdatePeriod
public ClientSideWeightedRoundRobin.Builder setWeightUpdatePeriod(com.google.protobuf.Duration value) How often endpoint weights are recalculated. Values less than 100ms are capped at 100ms. Default is 1 second.
.google.protobuf.Duration weight_update_period = 5; -
setWeightUpdatePeriod
public ClientSideWeightedRoundRobin.Builder setWeightUpdatePeriod(com.google.protobuf.Duration.Builder builderForValue) How often endpoint weights are recalculated. Values less than 100ms are capped at 100ms. Default is 1 second.
.google.protobuf.Duration weight_update_period = 5; -
mergeWeightUpdatePeriod
public ClientSideWeightedRoundRobin.Builder mergeWeightUpdatePeriod(com.google.protobuf.Duration value) How often endpoint weights are recalculated. Values less than 100ms are capped at 100ms. Default is 1 second.
.google.protobuf.Duration weight_update_period = 5; -
clearWeightUpdatePeriod
How often endpoint weights are recalculated. Values less than 100ms are capped at 100ms. Default is 1 second.
.google.protobuf.Duration weight_update_period = 5; -
getWeightUpdatePeriodBuilder
public com.google.protobuf.Duration.Builder getWeightUpdatePeriodBuilder()How often endpoint weights are recalculated. Values less than 100ms are capped at 100ms. Default is 1 second.
.google.protobuf.Duration weight_update_period = 5; -
getWeightUpdatePeriodOrBuilder
public com.google.protobuf.DurationOrBuilder getWeightUpdatePeriodOrBuilder()How often endpoint weights are recalculated. Values less than 100ms are capped at 100ms. Default is 1 second.
.google.protobuf.Duration weight_update_period = 5;- Specified by:
getWeightUpdatePeriodOrBuilderin interfaceClientSideWeightedRoundRobinOrBuilder
-
hasErrorUtilizationPenalty
public boolean hasErrorUtilizationPenalty()The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps. Configuration is rejected if this value is negative. Default is 1.0.
.google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }- Specified by:
hasErrorUtilizationPenaltyin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- Whether the errorUtilizationPenalty field is set.
-
getErrorUtilizationPenalty
public com.google.protobuf.FloatValue getErrorUtilizationPenalty()The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps. Configuration is rejected if this value is negative. Default is 1.0.
.google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }- Specified by:
getErrorUtilizationPenaltyin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- The errorUtilizationPenalty.
-
setErrorUtilizationPenalty
public ClientSideWeightedRoundRobin.Builder setErrorUtilizationPenalty(com.google.protobuf.FloatValue value) The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps. Configuration is rejected if this value is negative. Default is 1.0.
.google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... } -
setErrorUtilizationPenalty
public ClientSideWeightedRoundRobin.Builder setErrorUtilizationPenalty(com.google.protobuf.FloatValue.Builder builderForValue) The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps. Configuration is rejected if this value is negative. Default is 1.0.
.google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... } -
mergeErrorUtilizationPenalty
public ClientSideWeightedRoundRobin.Builder mergeErrorUtilizationPenalty(com.google.protobuf.FloatValue value) The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps. Configuration is rejected if this value is negative. Default is 1.0.
.google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... } -
clearErrorUtilizationPenalty
The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps. Configuration is rejected if this value is negative. Default is 1.0.
.google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... } -
getErrorUtilizationPenaltyBuilder
public com.google.protobuf.FloatValue.Builder getErrorUtilizationPenaltyBuilder()The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps. Configuration is rejected if this value is negative. Default is 1.0.
.google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... } -
getErrorUtilizationPenaltyOrBuilder
public com.google.protobuf.FloatValueOrBuilder getErrorUtilizationPenaltyOrBuilder()The multiplier used to adjust endpoint weights with the error rate calculated as eps/qps. Configuration is rejected if this value is negative. Default is 1.0.
.google.protobuf.FloatValue error_utilization_penalty = 6 [(.validate.rules) = { ... }- Specified by:
getErrorUtilizationPenaltyOrBuilderin interfaceClientSideWeightedRoundRobinOrBuilder
-
getMetricNamesForComputingUtilizationList
public com.google.protobuf.ProtocolStringList getMetricNamesForComputingUtilizationList()By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Specified by:
getMetricNamesForComputingUtilizationListin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- A list containing the metricNamesForComputingUtilization.
-
getMetricNamesForComputingUtilizationCount
public int getMetricNamesForComputingUtilizationCount()By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Specified by:
getMetricNamesForComputingUtilizationCountin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- The count of metricNamesForComputingUtilization.
-
getMetricNamesForComputingUtilization
By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Specified by:
getMetricNamesForComputingUtilizationin interfaceClientSideWeightedRoundRobinOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The metricNamesForComputingUtilization at the given index.
-
getMetricNamesForComputingUtilizationBytes
public com.google.protobuf.ByteString getMetricNamesForComputingUtilizationBytes(int index) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Specified by:
getMetricNamesForComputingUtilizationBytesin interfaceClientSideWeightedRoundRobinOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the metricNamesForComputingUtilization at the given index.
-
setMetricNamesForComputingUtilization
public ClientSideWeightedRoundRobin.Builder setMetricNamesForComputingUtilization(int index, String value) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Parameters:
index- The index to set the value at.value- The metricNamesForComputingUtilization to set.- Returns:
- This builder for chaining.
-
addMetricNamesForComputingUtilization
By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Parameters:
value- The metricNamesForComputingUtilization to add.- Returns:
- This builder for chaining.
-
addAllMetricNamesForComputingUtilization
public ClientSideWeightedRoundRobin.Builder addAllMetricNamesForComputingUtilization(Iterable<String> values) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Parameters:
values- The metricNamesForComputingUtilization to add.- Returns:
- This builder for chaining.
-
clearMetricNamesForComputingUtilization
By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Returns:
- This builder for chaining.
-
addMetricNamesForComputingUtilizationBytes
public ClientSideWeightedRoundRobin.Builder addMetricNamesForComputingUtilizationBytes(com.google.protobuf.ByteString value) By default, endpoint weight is computed based on the :ref:`application_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.application_utilization>` field reported by the endpoint. If that field is not set, then utilization will instead be computed by taking the max of the values of the metrics specified here. For map fields in the ORCA proto, the string will be of the form ``<map_field_name>.<map_key>``. For example, the string ``named_metrics.foo`` will mean to look for the key ``foo`` in the ORCA :ref:`named_metrics <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.named_metrics>` field. If none of the specified metrics are present in the load report, then :ref:`cpu_utilization <envoy_v3_api_field_.xds.data.orca.v3.OrcaLoadReport.cpu_utilization>` is used instead.
repeated string metric_names_for_computing_utilization = 7;- Parameters:
value- The bytes of the metricNamesForComputingUtilization to add.- Returns:
- This builder for chaining.
-
hasSlowStartConfig
public boolean hasSlowStartConfig()Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig slow_start_config = 8;- Specified by:
hasSlowStartConfigin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- Whether the slowStartConfig field is set.
-
getSlowStartConfig
Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig slow_start_config = 8;- Specified by:
getSlowStartConfigin interfaceClientSideWeightedRoundRobinOrBuilder- Returns:
- The slowStartConfig.
-
setSlowStartConfig
Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig slow_start_config = 8; -
setSlowStartConfig
public ClientSideWeightedRoundRobin.Builder setSlowStartConfig(SlowStartConfig.Builder builderForValue) Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig slow_start_config = 8; -
mergeSlowStartConfig
Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig slow_start_config = 8; -
clearSlowStartConfig
Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig slow_start_config = 8; -
getSlowStartConfigBuilder
Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig slow_start_config = 8; -
getSlowStartConfigOrBuilder
Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
.envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig slow_start_config = 8;- Specified by:
getSlowStartConfigOrBuilderin interfaceClientSideWeightedRoundRobinOrBuilder
-
setUnknownFields
public final ClientSideWeightedRoundRobin.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-
mergeUnknownFields
public final ClientSideWeightedRoundRobin.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<ClientSideWeightedRoundRobin.Builder>
-