  Runtime verification is concerned with monitoring program traces. In
particular, stream runtime verification (SRV) takes the program trace as input
streams and incrementally derives output streams. SRV can check logical
properties and compute temporal metrics and statistics from the trace. We
present TeSSLa, a temporal stream-based specification language for SRV. TeSSLa
supports timestamped events natively and is hence suitable for streams that are
both sparse and fine-grained, which often occur in practice. We prove results
on TeSSLa's expressiveness and compare different TeSSLa fragments to (timed)
automata, thereby inheriting various decidability results. Finally, we present
a monitor implementation and prove its correctness.
