import json import time from prometheus_client import Gauge, Info from global_conf import METRICS_INITIALIZED class user_info_struct: user_id: str user_fullname: str dick_size: int datetimes: str attemptsCount: int chat_id: int def metric_wrap(chatID:int, userName: str, length: int, attemptsCount: int): """Pass here chat ID, username, pipisa length and attempts count to wrap them into metric.""" if not METRICS_INITIALIZED: pipisa_length_metric = Gauge('user_length_total', 'Pipisa length', labelnames=['ChatID', 'Username']) user_attempt_metric = Gauge('user_attempts_total', 'Attempts count', labelnames=['ChatID', 'Username']) user_last_attempt_metric = Gauge('user_last_attempt_time', 'Last attempt time', labelnames=['ChatID', 'Username']) METRICS_INITIALIZED = True pipisa_length_metric.labels(chatID, userName).set(length) user_attempt_metric.labels(chatID, userName).set(attemptsCount) user_last_attempt_metric.labels(chatID, userName).set(time.time_ns())