Skip to content

and

There are two variants of the :and operator.

Choosing

Input Stack:
q2: Query
q1: Query
Output Stack:
(q1 AND q2): Query
 

This first variant is used for choosing the set of time series to operate on. It is a binary operator that matches if both of the sub-queries match. For example, consider the following query:

nf.app,alerttest,:eq,
name,ssCpuUser,:eq,
:and

When matching against the sample data in the table below, the highlighted time series would be included in the result set:

Namenf.appnf.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:
ts2: TimeSeriesExpr
ts1: TimeSeriesExpr
Output Stack:
(ts1 AND ts2): TimeSeriesExpr
 

Compute a new time series where each interval has the value (a AND b) where a and b are the corresponding intervals in the input time series. For example:

Time a b a AND b
00:01 0.0 0.0 0.0
00:01 0.0 1.0 0.0
00:02 1.0 0.0 0.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 and b are both non-zero. Example:

BeforeAfter
minuteOfDay,:time,
:dup,
300,:gt,
:swap,
310,:lt
minuteOfDay,:time,
:dup,
300,:gt,
:swap,
310,:lt,
:and