Package

com.ccadllc.cedi.circuitbreaker

statistics

Permalink

package statistics

Visibility
  1. Public
  2. All

Type Members

  1. case class FailureStatistics extends Statistics with Product with Serializable

    Permalink

    This represents the statistics that CircuitBreaker instances use to track the success and failure rates of their protected programs, for use in determining when to trip ("open") the breaker and, when open, to maintain the periodic testing state for use in determining when the breaker can be closed and normal traffic let flow to the program.

  2. case class FlowControlStatistics extends Statistics with Product with Serializable

    Permalink

    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.

  3. case class SlidingVector[A](window: SampleWindow, fullWindowCollected: Boolean = false, entries: Vector[TimeStamped[A]] = Vector.empty) extends Product with Serializable

    Permalink

    This data type provides the storage and access of a sliding time window of statistics, used to maintain aggregate program failures as well as observed inbound program request and processing rates.

    This data type provides the storage and access of a sliding time window of statistics, used to maintain aggregate program failures as well as observed inbound program request and processing rates.

    window

    - the SampleWindow for a SlidingVector indicates the time period (the scala.concurrent.duration.FiniteDuration) for which this collection should maintain statistics. For instance, a sample window of "five minutes" would indicate that the entries Vector contains items with a time stamp no more than five minutes in the past.

    fullWindowCollected

    - a flag indicating whether or not at least one full pass equal to the time period has been collected in the underlying vector (used to determine whether there is enough data to derive statistics from it).

    entries

    - the scala.collection.immutable.Vector of SlidingVector.TimeStamped[A] items (the TimeStamped data type associates a java.time.Instant with a simple statistic item A, such as Boolean or Long, for example).

  4. sealed abstract class Statistics extends Product with Serializable

    Permalink

    An Algebraic Data Type (ADT) representing statistics associated with a CircuitBreaker instance which can be rendered as a String for use in monitoring applications.

Value Members

  1. object FailureStatistics extends Serializable

    Permalink

    The companion object to the FailureStatistics instances, providing various data types and constructor functions used by and for those instances.

  2. object FlowControlStatistics extends Serializable

    Permalink

    The companion object to the FlowControlStatistics instances, providing various data types and constructor functions used by and for those instances.

  3. object SlidingVector extends Serializable

    Permalink

    The companion for SlidingVector, consisting of data types used by its associated instances.

Ungrouped