Join on latest tick

How can I produce a stream of ticks from node A, each joined against the latest values from node B at that point?

For instance, A could tick every millisecond, whereas B changes daily or less. I would expect to return every tick from A, with each one annotated with the relevant B.

I’ve tried setting a very large tolerance() but that affects the output, i.e. tolerance(1d) only gives me bucketed daily outputs, not every tick from A.

Edit: In general I’m looking for ways to work with unevenly spaced (time-inhomogeneous) data, such as high-frequency financial time series, without losing precision.

Would fill(‘previous’) address it? Join Node should support fill `previous`. · Issue #1289 · influxdata/kapacitor · GitHub

That is, if A ticks and there’s no tick on B with a matching timestamp, fill B with values from the previous tick instead.

1 Like

@1tgr That should help. You should also look at the |window() function.