object BackupRequestFilter
- Alphabetic
- By Inheritance
- BackupRequestFilter
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class Histogram(lowestDiscernibleMsValue: Int, highestTrackableMsValue: Int) extends Product with Serializable
Define the bounds of values tracked by the histogram.
Define the bounds of values tracked by the histogram.
Note: this is an expert-level API; the defaults work well for the typical user.
- lowestDiscernibleMsValue
The lowest value in milliseconds that can be discerned by the histogram.
- highestTrackableMsValue
The highest value in milliseconds to be tracked by the histogram..
- sealed trait Param extends AnyRef
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def Configured(maxExtraLoad: Tunable[Double], sendInterrupts: Boolean): Param
- def Configured(maxExtraLoad: Tunable[Double], sendInterrupts: Boolean, minSendBackupAfterMs: Int): Param
Configure BackupRequestFilter.
Configure BackupRequestFilter.
- maxExtraLoad
How much extra load, as a fraction, we are willing to send to the server. Must be between 0.0 and 1.0.
- sendInterrupts
Whether or not to interrupt the original or backup request when a response is returned and the result of the outstanding request is superseded. For protocols without a control plane, where the connection is cut on interrupts, this should be "false" to avoid connection churn.
- minSendBackupAfterMs
Use a minimum non-zero delay to prevent sending unnecessary backup requests immediately for services where the latency at the percentile where a backup will be sent is ~0ms.
- Note
See
Configured
above for note about low QPS clients and maxExtraLoad
- def Configured(maxExtraLoad: Double, sendInterrupts: Boolean): Param
Configure BackupRequestFilter.
Configure BackupRequestFilter.
- maxExtraLoad
How much extra load, as a fraction, we are willing to send to the server. Must be between 0.0 and 1.0.
- sendInterrupts
Whether or not to interrupt the original or backup request when a response is returned and the result of the outstanding request is superseded. For protocols without a control plane, where the connection is cut on interrupts, this should be "false" to avoid connection churn
- Note
See
Configured
above for note about low QPS clients and maxExtraLoad
- def Configured(maxExtraLoad: Double, sendInterrupts: Boolean, minSendBackupAfterMs: Int): Param
Configure BackupRequestFilter.
Configure BackupRequestFilter.
- maxExtraLoad
How much extra load, as a fraction, we are willing to send to the server. Must be between 0.0 and 1.0.
- sendInterrupts
Whether or not to interrupt the original or backup request when a response is returned and the result of the outstanding request is superseded. For protocols without a control plane, where the connection is cut on interrupts, this should be "false" to avoid connection churn.
- minSendBackupAfterMs
Use a minimum non-zero delay to prevent sending unnecessary backup requests immediately for services where the latency at the percentile where a backup will be sent is ~0ms.
- Note
Clients using a maxExtraLoad of 1% will need to get at least 10 QPS in order for any backups to be sent at all because the BackupRequestFilter's retryBudget has a TTL of 10 seconds for deposits (that is, 100 requests need to occur within 10 seconds before a single backup is allowed). The maxExtraLoad can be increased for these clients if they hope to see backups at lower QPS rates.
- val Disabled: Param
Configuration to disable BackupRequestFilter
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val description: String
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def filterService[Req, Rep](params: Params, service: Service[Req, Rep]): Service[Req, Rep]
Returns
service
with a BackupRequestFilter prepended, according to the configuration params inparams
.Returns
service
with a BackupRequestFilter prepended, according to the configuration params inparams
. If the BackupRequestFilter has not been configured, returns the sameservice
.Users should only use this method for filtering generic services; otherwise, usage through the
idempotent
method on MethodBuilder implementations is preferred.- Note
The BackupRequestFilter will be added to the ClientRegistry if and only if ProtocolLibrary, Label, and Dest are present in
params
. The BackupRequestFilter will be registered under scope: "client"/"client_protocol_library"/"client_label"/"dest"/"BackupRequestFilter" If any of the 3 params is missing, BRF will not be registered.
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def module[Req, Rep]: Stackable[ServiceFactory[Req, Rep]]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val role: Role
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- object Histogram extends Serializable
- object Param