Полагаю, mc_player_online
- это показатель c на игрока (с именем игрока в качестве метки).
Небольшая точность: показанный вами график показывает только то, что игрок онлайн. Если вы хотите видеть количество игроков одновременно, выражение будет иметь вид:
sum(mc_player_online)
Чтобы рассчитать время, которое игрок тратит на Minicraft, вы можете сделать это только на скользящем окне, выраженном как последний N <unit of time>
(последние 7 дней, 1 месяц ...). Если взять в качестве примера время, прошедшее за последнюю неделю в секундах (7 дней - 604800 с), оно будет равно:
avg_over_time(mc_player_online[7d]) * 604800
Вы можете иметь хороший дисплей, используя отображение таблицы в Grafana. Если вы хотите накапливать вечность, вам нужно иметь правило записи и позволить Прометею делать запись.
Расчет использования аналогичен вычислению времени, потраченного пользователем, но с выражением, равным 1, когда хотя бы один пользователь подключен к сети (с использованием модификатора bool
):
sum(mc_player_online) > bool 0
Это становится (за последний час):
avg_over_time((sum(mc_player_online) > bool 0)[1h:]) * 86400
Обратите внимание, что для этого выражения требуется версия Prometheus, поддерживающая подзапрос (version >= 2.7
). Если ваш Прометей старше, вы можете обойтись правилами записи.