Примеры датчиков
Эта статья описывает простые выражения датчика.
Подсчет устройств
Отслеживаемое выражение: aggregate("users.*.devices.*", "{env/previous} + ({.:status$connectionStatus} == 1 ? 1 : 0)", 0)
Это выражение использует функцию aggregate()
для отображения всех контекстов устройств (т.е., всех контекстов, соответствующих маске users.*.devices.*
) и подсчета тех, у которых есть поле connectionStatus
переменной status
, равной 1
(т.е., "онлайн").
Оно возвращает количество устройств в режиме онлайн, доступных пользователю, владеющему датчиком. Таким образом, если оно выполняется с правами доступа администратора по умолчанию, то возвращает общее количество устройств системы в режиме онлайн.
Подсчет использования памяти SberMobile Server
Отслеживаемое выражение: round(({:status$totalMemory} - {:status$freeMemory}) * 100 / {:status$maxMemory})
Во-первых, объем памяти, используемый Java VM в настоящее время, рассчитывается путем вычитания свободной части из текущего объема.
Во-вторых, полученное число делится на максимальный размер памяти, который повзоляет разместить JVM. Это дает соответствующее использование памяти, которое умножается на 100 для расчета процента.