Class

com.gilt.cavellc.batching

CaveBatchClient

Related Doc: package batching

Permalink

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
Visibility
  1. Public
  2. All

Instance Constructors

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

    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. def createMetric(metric: Metric): Unit

    Permalink

    Create metric

    Create metric

    metric

    Metrics to send.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  26. def shutdown(): Unit

    Permalink

    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
  27. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

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

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    Loggable

Inherited from Loggable

Inherited from MetricsBatchClient

Inherited from AnyRef

Inherited from Any

Ungrouped