package immutable
- Alphabetic
- Public
- All
Type Members
- case class ColumnTimeSeries[+T] extends TimeSeries[T] with Product with Serializable
TimeSeries implementation based on a column-store of three Vectors, one for each field of TSEntry.
TimeSeries implementation based on a column-store of three Vectors, one for each field of TSEntry. This implementation should be more memory-efficient than the vanilla VectorTimeSeries.
- Note
the entries of the three vectors must be ordered in the same way. The element at the same index in the three of them represents a TSEntry.
- case class ContiguousTimeDomain(start: Long, until: Long) extends TimeDomain with Product with Serializable
- case class GorillaBlockTimeSeries extends TimeSeries[Double] with Product with Serializable
TimeSeries implementation based on one block of a Gorilla compressed timeseries.
TimeSeries implementation based on one block of a Gorilla compressed timeseries. The block should not be too long, as lookups are done by scan and thus take linear time.
- case class NestedTimeSeries[+T] extends TimeSeries[T] with Product with Serializable
A timeseries based on TSEntries containing inner timeseries.
A timeseries based on TSEntries containing inner timeseries. The outer series needs to have at least two entries and the inner timeseries cannot by empty. Also, the looseDomain of each TSEntry should correspond to the looseDomain of the series it contains.
- case class TSEntry[+T](timestamp: Long, value: T, validity: Long) extends TimeSeries[T] with Product with Serializable
Represents a time series entry on the time-line, including its validity.
Represents a time series entry on the time-line, including its validity.
Can also be used as a 'constant' time series that has a single value.
'specialized' is used to have non-generic implementations for primitive types, which tend to be used a lot, in order to reduce the memory pressure a little bit.
- sealed trait TimeDomain extends AnyRef
This trait represents the definition of a time series' domain
This trait represents the definition of a time series' domain
By convention, a
TimeDomain
is a set of timestamps (Long
) inclusive on its left, and exclusive on its right. - case class VectorTimeSeries[+T] extends TimeSeries[T] with Product with Serializable
TimeSeries implementation based on a Vector.
TimeSeries implementation based on a Vector.
- Note
data needs to be SORTED
Value Members
- object ColumnTimeSeries extends Serializable
- object EmptyTimeDomain extends TimeDomain with Product with Serializable
- object EmptyTimeSeries extends TimeSeries[Nothing] with Product with Serializable
A time series that is never defined.
- object GorillaBlockTimeSeries extends Serializable
- object NestedTimeSeries extends Serializable
- object TSEntry extends Serializable
- object TSEntryOrdering extends Ordering[TSEntry[Any]]
Defines an ordering for TSEntries.
Defines an ordering for TSEntries. Should reduce the amount of boxing: seq.sortBy(_.timestamp) induces _a lot_ of boxing to Long.
Not having the _.timestamp lambda returning a Long should improve things.
- object TimeDomain
- object VectorTimeSeries extends Serializable