Примеры датчиков

Эта статья описывает простые выражения датчика.

Подсчет устройств

Отслеживаемое выражение: aggregate("users.*.devices.*", "{env/previous} + ({.:status$connectionStatus} == 1 ? 1 : 0)", 0)

Это выражение использует функцию aggregate() для отображения всех контекстов устройств (т.е., всех контекстов, соответствующих маске users.*.devices.*) и подсчета тех, у которых есть поле connectionStatus переменной status, равной 1 (т.е., "онлайн").

Оно возвращает количество устройств в режиме онлайн, доступных пользователю, владеющему датчиком. Таким образом, если оно выполняется с правами доступа администратора по умолчанию, то возвращает общее количество устройств системы в режиме онлайн.

Подсчет использования памяти AggreGate Server

Отслеживаемое выражение: round(({:status$totalMemory} - {:status$freeMemory}) * 100 / {:status$maxMemory})

Во-первых, объем памяти, используемый Java VM в настоящее время, рассчитывается путем вычитания свободной части из текущего объема.

Во-вторых, полученное число делится на максимальный размер памяти, который повзоляет разместить JVM. Это дает соответствующее использование памяти, которое умножается на 100 для расчета процента.