TimeSeries

object TimeSeries

A time series is a stream of timestamped values or clock ticks.

Values are represented as Some values in a TimeStamped[Option[A]], whereas clock ticks are represented as Nones. This encoding allows for an indication of time passage with no observed values.

Generally, time series appear in increasing order, and many combinators that work with time series will rely on that. For streams that are globally ordered, but not locally ordered, i.e., near adjacent values might be out of order but values at great distance from each other are ordered, consider using TimeStamped.reorderLocally to adjust.

Source:
TimeSeries.scala
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[F[_] : Temporal, A](source: Stream[F, TimeStamped[A]], tickPeriod: FiniteDuration, reorderOver: FiniteDuration): Stream[F, TimeStamped[Option[A]]]

Stream of either time ticks (spaced by tickPeriod) or values from the source stream.

Stream of either time ticks (spaced by tickPeriod) or values from the source stream.

Source:
TimeSeries.scala
def apply[F[_] : Temporal, A](source: Stream[F, TimeStamped[A]], tickPeriod: FiniteDuration, reorderOver: FiniteDuration, monotonic: Boolean): Stream[F, TimeStamped[Option[A]]]

Stream of either time ticks (spaced by tickPeriod) or values from the source stream.

Stream of either time ticks (spaced by tickPeriod) or values from the source stream.

The monotonic parameter specifies whether time ticks should use a monotonic increasing counter (e.g. System.nanoTime) or the current system time. This must match the time source of the source stream -- e.g., if source uses monotonic time then monotonic must be set to true.

Source:
TimeSeries.scala
def choice[LS, L, RS, R, O](l: Scan[LS, TimeStamped[Option[L]], O], r: Scan[RS, TimeStamped[Option[R]], O]): Scan[(LS, RS), TimeStamped[Option[Either[L, R]]], O]

Combinator that combines a Scan[LS, TimeStamped[Option[L]], O] and a Scan[RS, TimeStamped[Option[R]], O] in to a Scan[(LS, RS), TimeSeriesVlaue[Either[L, R], O]].

Combinator that combines a Scan[LS, TimeStamped[Option[L]], O] and a Scan[RS, TimeStamped[Option[R]], O] in to a Scan[(LS, RS), TimeSeriesVlaue[Either[L, R], O]].

Source:
TimeSeries.scala
def drainLeft[F[_], L, R]: Stream[F, TimeStamped[Option[Either[L, R]]]] => Stream[F, TimeStamped[Option[R]]]

Time series pipe which discards left values.

Time series pipe which discards left values.

Source:
TimeSeries.scala
def drainRight[F[_], L, R]: Stream[F, TimeStamped[Option[Either[L, R]]]] => Stream[F, TimeStamped[Option[L]]]

Time series pipe which discards right values.

Time series pipe which discards right values.

Source:
TimeSeries.scala
def interpolateTicks[F[_], A](tickPeriod: FiniteDuration): Stream[F, TimeStamped[A]] => Stream[F, TimeStamped[Option[A]]]

Pipe that converts a stream of timestamped values with monotonically increasing timestamps in to a stream of timestamped ticks or values, where a tick is emitted every tickPeriod. Ticks are emitted between values from the source stream.

Pipe that converts a stream of timestamped values with monotonically increasing timestamps in to a stream of timestamped ticks or values, where a tick is emitted every tickPeriod. Ticks are emitted between values from the source stream.

Source:
TimeSeries.scala
def lift[F[_], A, B](f: A => B): Stream[F, TimeStamped[Option[A]]] => Stream[F, TimeStamped[Option[B]]]

Lifts a function from A => B to a time series pipe.

Lifts a function from A => B to a time series pipe.

Source:
TimeSeries.scala
def preserve[S, I, O](t: Scan[S, I, O]): Scan[S, TimeStamped[Option[I]], TimeStamped[Option[O]]]

Combinator that converts a Scan[S, I, O] in to a Scan[S, TimeStamped[Option[I]], TimeStamped[Option[O]]] such that timestamps are preserved on elements that flow through the stream.

Combinator that converts a Scan[S, I, O] in to a Scan[S, TimeStamped[Option[I]], TimeStamped[Option[O]]] such that timestamps are preserved on elements that flow through the stream.

Source:
TimeSeries.scala

Combinator that converts a Scan[S, TimeStamped[I], TimeStamped[O]] in to a Scan[S, TimeStamped[Option[I]], TimeStamped[Option[O]]] such that timestamps are preserved on elements that flow through the stream.

Combinator that converts a Scan[S, TimeStamped[I], TimeStamped[O]] in to a Scan[S, TimeStamped[Option[I]], TimeStamped[Option[O]]] such that timestamps are preserved on elements that flow through the stream.

Source:
TimeSeries.scala
def timePulled[F[_] : Temporal, A](source: Stream[F, A], tickPeriod: FiniteDuration, reorderOver: FiniteDuration): Stream[F, TimeStamped[Option[A]]]

Stream of either time ticks (spaced by tickPeriod) or values from the source stream.

Stream of either time ticks (spaced by tickPeriod) or values from the source stream.

Packets are time stamped with the system time. If downstream processing requires monotonically increasaing time stamps, consider using the overload which takes the monotonic parameter.

Source:
TimeSeries.scala
def timePulled[F[_] : Temporal, A](source: Stream[F, A], tickPeriod: FiniteDuration, reorderOver: FiniteDuration, monotonic: Boolean): Stream[F, TimeStamped[Option[A]]]

Stream of either time ticks (spaced by tickPeriod) or values from the source stream.

Stream of either time ticks (spaced by tickPeriod) or values from the source stream.

The monotonic parameter specifies whether time stamps should use a monotonic increasing counter (e.g. System.nanoTime) or the current system time.

Source:
TimeSeries.scala