forked from Pavel_Durov/python_bot
init gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges onceinit gauges once
28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
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
|
|
|
|
|
|
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())
|