or
There are two variants of the :or operator.
Choosing¶
Input Stack:
|
⇨ | Output Stack:
|
This first variant is used for choosing the set of time series to operate on. It is a binary operator that matches if either of the sub-queries match.
Parameters¶
- query1: First query condition to check
- query2: Second query condition to check (result matches if either query1 OR query2 is true)
Examples¶
Match time series that satisfy either condition:
For example, consider the following query:
nf.app,alerttest,:eq, name,ssCpuUser,:eq, :or
When matching against the sample data in the table below, the highlighted time series would be included in the result set:
| Name | nf.app | nf.node |
|---|---|---|
| ssCpuUser | alerttest | i-0123 |
| ssCpuSystem | alerttest | i-0123 |
| ssCpuUser | nccp | i-0abc |
| ssCpuSystem | nccp | i-0abc |
| numRequests | nccp | i-0abc |
| ssCpuUser | api | i-0456 |
Math¶
Input Stack:
|
⇨ | Output Stack:
|
Compute a new time series where each interval has the value (a OR b) where a
and b are the corresponding intervals in the input time series.
Parameters¶
- ts1: First time series expression
- ts2: Second time series expression
Examples¶
Boolean OR operation on time series values:
| Time | a | b | a OR b |
|---|---|---|---|
| 00:01 | 0.0 | 0.0 | 0.0 |
| 00:01 | 0.0 | 1.0 | 1.0 |
| 00:02 | 1.0 | 0.0 | 1.0 |
| 00:03 | 1.0 | 1.0 | 1.0 |
| 00:04 | 0.5 | 1.7 | 1.0 |
The result will be a signal time series that will
be 1.0 for all intervals where the corresponding values of a or b are non-zero.
Creating a signal that's true when time is either greater than 300 OR less than 290 minutes:
| Before | After |
minuteOfDay,:time, :dup, 300,:gt, :swap, 290,:lt | minuteOfDay,:time, :dup, 300,:gt, :swap, 290,:lt, :or |