Skip to content

temporian.EventSet.until_next #

until_next(
    sampling: EventSetOrNode, timeout: Duration
) -> EventSetOrNode

Gets the duration until the next sampling event for each input event.

If no sampling event is observed before timeout time-units, returns NaN.

until_next is different from since_last in that since_last returns one value for each sampling (sampling events are after input events), while until_next returns one value for each input value (here again, sampling events are after input events).

The output EventSet has one event for each event in input, but with its timestamp moved forward to the nearest future event in sampling. If no timestamp in sampling is closer than timeout, it is moved by timeout into the future instead.

until_next is useful to measure the time it takes for an issue (input) to be detected by an alert (sampling).

Basic example with 1 and 2 steps
>>> a = tp.event_set(timestamps=[0, 10, 11, 20, 30])
>>> b = tp.event_set(timestamps=[1, 12, 21, 22, 42])
>>> c = a.until_next(sampling=b, timeout=5)
>>> c
indexes: []
features: [('until_next', float64)]
events:
    (5 events):
        timestamps: [ 1. 12. 12. 21. 35.]
        'until_next': [ 1.  2.  1.  1. nan]
...

Parameters:

Name Type Description Default
sampling EventSetOrNode

EventSet to use the sampling of.

required
timeout Duration

Maximum amount of time to wait. If no sampling is observed before the timeout expires, the output feature value is NaN.

required

Returns:

Type Description
EventSetOrNode

Resulting EventSet.