Class/Object

com.ccadllc.cedi.circuitbreaker.statistics

FlowControlStatistics

Related Docs: object FlowControlStatistics | package statistics

Permalink

case class FlowControlStatistics extends Statistics with Product with Serializable

This represents the statistics that CircuitBreaker instances use to track the inbound and processing rate of their protected programs, for use in determining when to throttle (fail fast) requests in order to maintain the effective inbound rate to an acceptable level such that the program (or system/service behind it) is not overloaded.

Source
Statistics.scala
Linear Supertypes
Statistics, Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FlowControlStatistics
  2. Statistics
  3. Serializable
  4. Serializable
  5. Product
  6. Equals
  7. AnyRef
  8. 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

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 FlowControlStatistics to any2stringadd[FlowControlStatistics] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (FlowControlStatistics, B)

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

    Permalink
    Definition Classes
    AnyRef → Any
  6. def afterExecution: FlowControlStatistics

    Permalink

    Lifecycle function invoked by the CircuitBreaker after the program execution has completed

    Lifecycle function invoked by the CircuitBreaker after the program execution has completed

    returns

    newStatistics - The metrics are updated, including update to the effective processing rate per second.

  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def beforeExecution: FlowControlStatistics

    Permalink

    Lifecycle function invoked by the CircuitBreaker after it performed throttling checks and determined the program execution request should go forth.

    Lifecycle function invoked by the CircuitBreaker after it performed throttling checks and determined the program execution request should go forth.

    returns

    newStatistics - The metrics are updated, including update to the effective inbound rate per second.

  9. def beforeThrottle(startTime: Instant): FlowControlStatistics

    Permalink

    Lifecycle function invoked by the CircuitBreaker before it checks to see if it should throttle a request, passing a timestamp indicating the instant a request has been received.

    Lifecycle function invoked by the CircuitBreaker before it checks to see if it should throttle a request, passing a timestamp indicating the instant a request has been received.

    returns

    newStatistics - The metrics are updated with the timestamp of the request received.

  10. val change: Option[Change]

    Permalink

    - if the statistics have undergone any state change, the last change will be present here.

  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def ensuring(cond: (FlowControlStatistics) ⇒ Boolean, msg: ⇒ Any): FlowControlStatistics

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  17. val failure: FailureStatistics

    Permalink

    - the FailureStatistics used for the failure component of the flow control circuit breaker.

  18. def finalize(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  21. val id: Identifier

    Permalink

    - the unique identifier of the CircuitBreaker which "owns" this statistics instance.

  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. def maxAcceptableRate: Option[MeanFlowRate]

    Permalink

    The maximum acceptable inbound rate.

    The maximum acceptable inbound rate. This is differentated from the mean processing rate in that you can configure a percentage that we should allow the inbound rate exceed the processing rate (to account for spikes and valleys, for instance). This value is the mean processing rate + the added percentage over allowed, if it is configured as a non-zero value.

    returns

    maxAcceptableRate - the maximum acceptable rate, if it has been calculated yet (it will not be calculated until a full window of statistics has been collected).

  24. def meanInboundRate: MeanFlowRate

    Permalink

    The mean/average effective inbound rate per second (effective in that requests that are throttled/failed fast are not counted in the effective rate) over the sample window.

    The mean/average effective inbound rate per second (effective in that requests that are throttled/failed fast are not counted in the effective rate) over the sample window.

    returns

    meanFlowRate - the mean effective inbound rate.

  25. def meanProcessingRate: MeanFlowRate

    Permalink

    The mean/average observed processing rate per second over the sample window.

    The mean/average observed processing rate per second over the sample window.

    returns

    meanFlowRate - the mean processing rate.

  26. val metrics: Metrics

    Permalink

    - the sliding time-based metrics for both the inbound requests per second as well as the observed processing rate per second of the protected program.

    - the sliding time-based metrics for both the inbound requests per second as well as the observed processing rate per second of the protected program. the protected program execution.

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

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

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

    Permalink
    Definition Classes
    AnyRef
  30. def shouldBeThrottled: Boolean

    Permalink

    Should the current request be throttled (failed fast), given this statistics object? This function will evaluat the inbound rate and processing rate averages, assuming both have followed a full window's worth of statistics, and determine if the current effective inbound rate is greater than the maximum acceptable rate, or if the configured hard limit rate has been exceeded.

    Should the current request be throttled (failed fast), given this statistics object? This function will evaluat the inbound rate and processing rate averages, assuming both have followed a full window's worth of statistics, and determine if the current effective inbound rate is greater than the maximum acceptable rate, or if the configured hard limit rate has been exceeded. If either of those things evaluate true, this function will also.

  31. def show: String

    Permalink

    Render this statistics object in human readable form.

    Render this statistics object in human readable form.

    Definition Classes
    FlowControlStatisticsStatistics
  32. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  33. def throttledDown: Boolean

    Permalink

    Indicates that the last state change was that the maximum acceptable rate was decreased (the CircuitBreaker should throttle down the rate of requests it allows through to execution, throttling the service down).

  34. def throttledUp: Boolean

    Permalink

    Indicates that the last state change was that the maximum acceptable rate was increased (the CircuitBreaker can allow its protected program execution to throttle up).

  35. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. def withFailure(failure: FailureStatistics): FlowControlStatistics

    Permalink

    Convenience copy constructor, apply the passed-in FailureStatistics.

  39. def [B](y: B): (FlowControlStatistics, B)

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

Inherited from Statistics

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

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

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

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

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

Ungrouped