Class

com.twitter.finagle.param

ClientAdmissionControlParams

Related Doc: package param

Permalink

class ClientAdmissionControlParams[A <: Parameterized[A]] extends AnyRef

A collection of methods for configuring the admission control modules of Finagle clients.

A

a Stack.Parameterized client to configure

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClientAdmissionControlParams
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ClientAdmissionControlParams(self: Parameterized[A])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. def maxPendingRequests(requestLimit: Int): A

    Permalink

    Configures a limit on the maximum number of outstanding requests per connection.

    Configures a limit on the maximum number of outstanding requests per connection. Default is no limit.

  13. def nackAdmissionControl(window: Duration, threshold: Double): A

    Permalink

    Configures the NackAdmissionFilter.

    Configures the NackAdmissionFilter. The NackAdmissionFilter is enabled by default and configured with the default values which can be found in com.twitter.finagle.filter.NackAdmssionFilter.

    NOTE: Here is a brief summary of the configurable params.

    A configuration with a threshold of N% and a window of duration W roughly translates as, "start dropping some requests to the cluster when the nack rate averages at least N% over a window of duration W."

    Here are some examples of situations with param values chosen to make the filter useful:

    - Owners of Service A examine their service's nack rate over several days and find that it is almost always under 10% and rarely above 1% (e.g., during traffic spikes) or 5% (e.g., during a data center outage). They do not want to preemptively drop requests unless the cluster sees an extreme overload situation so they choose a nack rate threshold of 20%. And in such a situation they want the filter to act relatively quickly, so they choose a window of 30 seconds.

    - Owners of Service B observe that excess load typically causes peak nack rates of around 25% for up to 60 seconds. They want to be aggressive about avoiding cluster overload and don’t mind dropping some innocent requests during mild load so they choose a window of 10 seconds and a threshold of 0.15 (= 15%).

    window

    Duration over which to average the ratio of nackd/non-nacked responses.

    threshold

    The upper limit of the fraction of responses which are nacks before the NackAdmissionFilter begins to drop requests.

  14. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. def noNackAdmissionControl: A

    Permalink

    Disables the NackAdmissionFilter if backing off during overload situations is not desirable behavior.

    Disables the NackAdmissionFilter if backing off during overload situations is not desirable behavior. The NackAdmissionFilter is enabled by default.

  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  19. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped