Class/Object

com.ccadllc.cedi.circuitbreaker

FlowControlSettings

Related Docs: object FlowControlSettings | package circuitbreaker

Permalink

case class FlowControlSettings(failure: FailureSettings, sampleWindow: SampleWindow, allowedOverProcessingRate: Percentage, minimumReportableRateChange: Percentage, perSecondRateMinimum: Long, perSecondRateHardLimit: Long, enabled: Boolean = true) extends Product with Serializable

The configuration which controls the flow control-based CircuitBreakers (that is, those circuit breakers which are created via the CircuitBreakerRegistry#forFlowControl function).

failure

- the configuration for the failure component of the flow control CircuitBreaker. In addition to providing flow control, it also provides the same failure functionality as its failure-only variant.

sampleWindow

- the time-based window to be used to constrain the number of inbound program execution requests per second and program executions processed per second. The flow control circuit breaker maintains two separate collections (the inbound rate and the processing/completed rate) and both use this sample window configuration to constrain the sizes of these collections.

allowedOverProcessingRate

- the Percentage that the mean inbound rate is allowed to exceed the mean processing rate before this circuit breaker starts throttling inbound requests to lower it to an acceptable rate. Put another way, the acceptable rate is the processing rate + (processing rate * percentage / 100).

minimumReportableRateChange

- this is the percent that the calculated acceptable rate must be observed to have changed (either lower or higher) before a state change event is triggered. If it is 0, all state changes result in an event. This configuration item is meant to alleviate a flood of events when the request traffic pattern is very choppy (lots of spikes and valleys in a short time period).

perSecondRateMinimum

- this is the minimum observed inbound rate at which flow control throttling will kick in.

perSecondRateHardLimit

- this is the hard limit of the inbound requests per second above which requests will be throttled by the circuit breaker (failed fast without execution) for the remainder of the current second. It will be monitored and acted upon continuously.

enabled

- The flow control portion of the CircuitBreaker can be enabled or disabled with this parameter.

Source
CircuitBreakerSettings.scala
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FlowControlSettings
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FlowControlSettings(failure: FailureSettings, sampleWindow: SampleWindow, allowedOverProcessingRate: Percentage, minimumReportableRateChange: Percentage, perSecondRateMinimum: Long, perSecondRateHardLimit: Long, enabled: Boolean = true)

    Permalink

    failure

    - the configuration for the failure component of the flow control CircuitBreaker. In addition to providing flow control, it also provides the same failure functionality as its failure-only variant.

    sampleWindow

    - the time-based window to be used to constrain the number of inbound program execution requests per second and program executions processed per second. The flow control circuit breaker maintains two separate collections (the inbound rate and the processing/completed rate) and both use this sample window configuration to constrain the sizes of these collections.

    allowedOverProcessingRate

    - the Percentage that the mean inbound rate is allowed to exceed the mean processing rate before this circuit breaker starts throttling inbound requests to lower it to an acceptable rate. Put another way, the acceptable rate is the processing rate + (processing rate * percentage / 100).

    minimumReportableRateChange

    - this is the percent that the calculated acceptable rate must be observed to have changed (either lower or higher) before a state change event is triggered. If it is 0, all state changes result in an event. This configuration item is meant to alleviate a flood of events when the request traffic pattern is very choppy (lots of spikes and valleys in a short time period).

    perSecondRateMinimum

    - this is the minimum observed inbound rate at which flow control throttling will kick in.

    perSecondRateHardLimit

    - this is the hard limit of the inbound requests per second above which requests will be throttled by the circuit breaker (failed fast without execution) for the remainder of the current second. It will be monitored and acted upon continuously.

    enabled

    - The flow control portion of the CircuitBreaker can be enabled or disabled with this parameter.

Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from FlowControlSettings to any2stringadd[FlowControlSettings] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (FlowControlSettings, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from FlowControlSettings to ArrowAssoc[FlowControlSettings] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. val allowedOverProcessingRate: Percentage

    Permalink

    - the Percentage that the mean inbound rate is allowed to exceed the mean processing rate before this circuit breaker starts throttling inbound requests to lower it to an acceptable rate.

    - the Percentage that the mean inbound rate is allowed to exceed the mean processing rate before this circuit breaker starts throttling inbound requests to lower it to an acceptable rate. Put another way, the acceptable rate is the processing rate + (processing rate * percentage / 100).

  7. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. val enabled: Boolean

    Permalink

    - The flow control portion of the CircuitBreaker can be enabled or disabled with this parameter.

  10. def ensuring(cond: (FlowControlSettings) ⇒ Boolean, msg: ⇒ Any): FlowControlSettings

    Permalink
    Implicit information
    This member is added by an implicit conversion from FlowControlSettings to Ensuring[FlowControlSettings] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: (FlowControlSettings) ⇒ Boolean): FlowControlSettings

    Permalink
    Implicit information
    This member is added by an implicit conversion from FlowControlSettings to Ensuring[FlowControlSettings] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: Boolean, msg: ⇒ Any): FlowControlSettings

    Permalink
    Implicit information
    This member is added by an implicit conversion from FlowControlSettings to Ensuring[FlowControlSettings] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean): FlowControlSettings

    Permalink
    Implicit information
    This member is added by an implicit conversion from FlowControlSettings to Ensuring[FlowControlSettings] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. val failure: FailureSettings

    Permalink

    - the configuration for the failure component of the flow control CircuitBreaker.

    - the configuration for the failure component of the flow control CircuitBreaker. In addition to providing flow control, it also provides the same failure functionality as its failure-only variant.

  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from FlowControlSettings to StringFormat[FlowControlSettings] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  18. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    Any
  20. val minimumReportableRateChange: Percentage

    Permalink

    - this is the percent that the calculated acceptable rate must be observed to have changed (either lower or higher) before a state change event is triggered.

    - this is the percent that the calculated acceptable rate must be observed to have changed (either lower or higher) before a state change event is triggered. If it is 0, all state changes result in an event. This configuration item is meant to alleviate a flood of events when the request traffic pattern is very choppy (lots of spikes and valleys in a short time period).

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

    Permalink
    Definition Classes
    AnyRef
  22. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  24. val perSecondRateHardLimit: Long

    Permalink

    - this is the hard limit of the inbound requests per second above which requests will be throttled by the circuit breaker (failed fast without execution) for the remainder of the current second.

    - this is the hard limit of the inbound requests per second above which requests will be throttled by the circuit breaker (failed fast without execution) for the remainder of the current second. It will be monitored and acted upon continuously.

  25. val perSecondRateMinimum: Long

    Permalink

    - this is the minimum observed inbound rate at which flow control throttling will kick in.

  26. val sampleWindow: SampleWindow

    Permalink

    - the time-based window to be used to constrain the number of inbound program execution requests per second and program executions processed per second.

    - the time-based window to be used to constrain the number of inbound program execution requests per second and program executions processed per second. The flow control circuit breaker maintains two separate collections (the inbound rate and the processing/completed rate) and both use this sample window configuration to constrain the sizes of these collections.

  27. def show: String

    Permalink
  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  29. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def [B](y: B): (FlowControlSettings, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from FlowControlSettings to ArrowAssoc[FlowControlSettings] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from FlowControlSettings to any2stringadd[FlowControlSettings]

Inherited by implicit conversion StringFormat from FlowControlSettings to StringFormat[FlowControlSettings]

Inherited by implicit conversion Ensuring from FlowControlSettings to Ensuring[FlowControlSettings]

Inherited by implicit conversion ArrowAssoc from FlowControlSettings to ArrowAssoc[FlowControlSettings]

Ungrouped