trait Aggregator[T, A] extends AnyRef
Tooling and state wrapper to efficiently compute aggregates over sliding windows, in contexts where this is possible. Instead of aggregating huge slices of a time series, this class iteratively calculates the aggregated value when an entry is added. This allows to only store the summed value instead of all the entries in the case of addition, for example.
The aggregator will be applied sequentially, so it may keep track of any state from one entry the next.
- T
the type of the entries being aggregated over
- A
the type of the aggregated value
- Alphabetic
- By Inheritance
- Aggregator
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def addEntry(e: TSEntry[T]): Unit
Update the internal aggregated value according to the entry that is about to be added to the window.
Update the internal aggregated value according to the entry that is about to be added to the window.
- e
the entry that is about to enter the window
- abstract def currentValue: Option[A]
- returns
the current aggregated value or None
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addEntry(e: TSEntry[T], currentWindow: Queue[TSEntry[T]]): Unit
Update the internal aggregated value according to the entry that is about to be added to the window.
Update the internal aggregated value according to the entry that is about to be added to the window.
- e
the entry that is about to enter the window
- currentWindow
the current content of the window: it does not include 'e' at this point.
- Note
By default this ignores the currentWindow and passes the entry to the function that only takes the entry. If you want to use the entire window in the aggregaton you can override this method.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()