filter gts

Pushes onto the stack a pseudo FILTER which computes latencies in a network. It uses the FILTER framework for conveniency but really returns new GTS.

The input Geo Time Series™ are assumed to have values which are fingerprints of packet payloads. The first GTS is assumed to be the uplink and all the other GTS the downlinks.

The ticks are the time at which a packet with the given fingerprint was observed.

The generated Geo Time Series™ will have the same ticks as the uplink one, except the values will be latencies instead of packet fingerprints.

The filter.latencies function accepts a number of options:

uplink.latency.minCompute minimum latency on the uplink.
uplink.latency.maxCompute maximum latency on the uplink.
downlink.latency.minCompute minimum latency on each downlink.
downlink.latency.maxCompute maximum latency on each downlink.
downlink.matchesCompute the number of matches for each downlink.
downlinks.totalmatchesComputes the total number of matches across downlinks.
downlinks.bitsetsComputes a bitset of downlinks which saw the packet (limited to 64 downlinks).
downlinks.withmatchesComputes the number of downlinks with matches for the given packet.

This pseudo FILTER is very specific to a networking use case, but it is a good demonstration of the power of WarpScript and its frameworks.

filter.latencies is available since version 1.0.0.

See also