import json import time from prometheus_client import Gauge, Info class user_info_struct: user_id: str user_fullname: str dick_size: int datetimes: str attemptsCount: int chat_id: int global initialized initialized = False 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 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']) 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())