python_bot/handlers/metrics.py
hogweed1 f4a1cee509
All checks were successful
continuous-integration/drone/push Build is passing
be be be
2025-05-12 21:28:36 +10:00

28 lines
1.1 KiB
Python

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())