Class/Object

com.groupon.sparklint.data

CompressedMetricsSink

Related Docs: object CompressedMetricsSink | package data

Permalink

class CompressedMetricsSink extends MetricsSink

A constant-memory-complexity data structure to store time series data points

It produces a ganglia-like feature, that if the new data to be added is newer than the maximum this can contain, a compact will be performed to increase the resolution (time range each bucket contains) according to getNextResolution, so this data structure can record newer data without losing the earliest data points.

When first created, the size of the array will be the number of buckets to keep in memory The time range represented by each bucket is configured by resolution

Since

8/11/16.

Linear Supertypes
MetricsSink, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CompressedMetricsSink
  2. MetricsSink
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CompressedMetricsSink(resolution: Long, dataRange: Option[Interval], origin: Long, storage: Array[Long])

    Permalink

    resolution

    The time range that each bucket represents, in milliseconds

    dataRange

    The time range that this sink represents

    origin

    the actual time for time0 in this data structure

    storage

    for each bucket, sum of millis spend in calculation

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. def addUsage(startTime: Long, endTime: Long, weight: Int = 1): CompressedMetricsSink

    Permalink
    Definition Classes
    CompressedMetricsSinkMetricsSink
  5. def apply(index: Int): Long

    Permalink
    Definition Classes
    MetricsSink
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def batchAddUsage(pairs: Seq[(Long, Long)], weight: Int): CompressedMetricsSink

    Permalink
    Definition Classes
    CompressedMetricsSinkMetricsSink
  8. lazy val bucketEnd: Long

    Permalink
    Definition Classes
    MetricsSink
  9. lazy val bucketStart: Long

    Permalink
    Definition Classes
    MetricsSink
  10. def changeResolution(toResolution: Long): CompressedMetricsSink

    Permalink
    Definition Classes
    CompressedMetricsSinkMetricsSink
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def convertToUsageDistribution: Map[Int, Long]

    Permalink

    Get usage distribution

    Get usage distribution

    Definition Classes
    MetricsSink
  13. val dataRange: Option[Interval]

    Permalink

    The time range that this sink represents

    The time range that this sink represents

    Definition Classes
    CompressedMetricsSinkMetricsSink
  14. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def getAvgValueForTime(time: Long): Option[Double]

    Permalink
    Definition Classes
    MetricsSink
  18. def getBucket(index: Int): Option[Long]

    Permalink
    Definition Classes
    MetricsSink
  19. def getBucketIndex(time: Long): Int

    Permalink
    Definition Classes
    MetricsSink
  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. def getValueForTime(time: Long): Option[Long]

    Permalink
    Definition Classes
    MetricsSink
  22. def hashCode(): Int

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

    Permalink
    Definition Classes
    Any
  24. lazy val length: Int

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

    Permalink
    Definition Classes
    AnyRef
  26. def nonEmpty: Boolean

    Permalink
    Definition Classes
    MetricsSink
  27. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  29. def removeUsage(startTime: Long, endTime: Long, weight: Int = 1): CompressedMetricsSink

    Permalink
    Definition Classes
    CompressedMetricsSinkMetricsSink
  30. val resolution: Long

    Permalink

    The time range that each bucket represents, in milliseconds

    The time range that each bucket represents, in milliseconds

    Definition Classes
    CompressedMetricsSinkMetricsSink
  31. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  33. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from MetricsSink

Inherited from AnyRef

Inherited from Any

Ungrouped