TimeSeries

fs2.timeseries.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.

Attributes

Source
TimeSeries.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
TimeSeries.type

Members list

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.

Attributes

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.

Attributes

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]].

Attributes

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.

Attributes

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.

Attributes

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.

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.

Attributes

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.

Attributes

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.

Attributes

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

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.

Attributes

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.

Attributes

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.

Attributes

Source
TimeSeries.scala