механизм вывода для показателей производительности (inference engine for performance metrics)
BOOLEAN EXPRESSIONS
pmie
expressions that have the semantics of a Boolean, e.g.
foo.bar > 10 or some_inst ( my.table < 0 )
are assigned the
values true
or false
or unknown
. A value is unknown
if one or
more of the underlying metric values is unavailable, e.g.
pmcd(1) on the host cannot be contacted, the metric is not in the
PCP archive, no values are currently available, insufficient
values have been fetched to allow a rate converted value to be
computed or insufficient values have been fetched to instantiate
the required number of samples in the temporal domain.
Boolean operators follow the normal rules of Kleene logic (aka
3-valued logic) when combining values that include unknown
:
┌────────────┬───────────────────────────┐
│ │ B │
│ A and
B ├─────────┬───────┬─────────┤
│ │ true
│ false
│ unknown
│
├──┬─────────┼─────────┼───────┼─────────┤
│ │ true
│ true
│ false
│ unknown
│
│ ├─────────┼─────────┼───────┼─────────┤
│A │ false
│ false
│ false
│ false
│
│ ├─────────┼─────────┼───────┼─────────┤
│ │ unknown
│ unknown
│ false
│ unknown
│
└──┴─────────┴─────────┴───────┴─────────┘
┌────────────┬──────────────────────────┐
│ │ B │
│ A or
B ├──────┬─────────┬─────────┤
│ │ true
│ false
│ unknown
│
├──┬─────────┼──────┼─────────┼─────────┤
│ │ true
│ true
│ true
│ true
│
│ ├─────────┼──────┼─────────┼─────────┤
│A │ false
│ true
│ false
│ unknown
│
│ ├─────────┼──────┼─────────┼─────────┤
│ │ unknown
│ true
│ unknown
│ unknown
│
└──┴─────────┴──────┴─────────┴─────────┘
┌────────┬─────────┐
│ A │ not
A │
├────────┼─────────┤
│ true
│ false
│
├────────┼─────────┤
│ false
│ true
│
├────────┼─────────┤
│unknown
│ unknown
│
└────────┴─────────┘