com.gilt.cavellc.batching

CaveBatchClient

class CaveBatchClient extends MetricsBatchClient with Loggable

Simple batching of metrics for CAVE.

This class gathers raw metrics together, and sends to CAVE, as batches, in a timely fashion.

The approach in this class is to collect metrics into collections, and when full, or a timer (based on the age of the first metric in the collection) expires, that batch is sent to CAVE.

A minimal runtime impact is achieved by using a single Timer, and a single thread - the timer is used simply to schedule tasks to be executed on the thread, with the thread being used for all the work (interacting with CAVE, etc.).

Note, each instance of this class builds its own batches, and delivers to CAVE individually - multiple instances will result in multiple batches, if this is so desired.

Linear Supertypes
Loggable, MetricsBatchClient, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CaveBatchClient
  2. Loggable
  3. MetricsBatchClient
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CaveBatchClient(batchConfig: CaveBatchConfiguration, publishMetrics: (Seq[Metric]) ⇒ Future[Unit])

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def createMetric(metric: Metric): Unit

    Create metric

    Create metric

    metric

    Metrics to send.

    Definition Classes
    CaveBatchClientMetricsBatchClient
  9. def debug(message: ⇒ String, ex: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  10. def debug(message: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  11. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  13. def error(message: ⇒ String, ex: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  14. def error(message: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  15. def error(ex: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  16. def fatal(message: ⇒ String, ex: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  17. def fatal(message: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  18. def fatal(ex: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  19. def finalize(): Unit

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

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

    Definition Classes
    AnyRef → Any
  22. def info(message: ⇒ String, ex: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  23. def info(message: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  24. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  25. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  26. final def notify(): Unit

    Definition Classes
    AnyRef
  27. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  28. def shutdown(): Unit

    Explicitly shutdown the batching client.

    Explicitly shutdown the batching client.

    Specifically, this cancels internal timers, etc.

    Note, internal timers, etc., will be created as daemons, so should not block normal terminations if this method is not called.

    Definition Classes
    CaveBatchClientMetricsBatchClient
  29. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  30. def toString(): String

    Definition Classes
    AnyRef → Any
  31. def trace(message: ⇒ String, ex: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  32. def trace(message: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  33. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. def warn(message: ⇒ String, ex: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Loggable
  37. def warn(message: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Loggable

Inherited from Loggable

Inherited from MetricsBatchClient

Inherited from AnyRef

Inherited from Any

Ungrouped