From 7e52c86067d49ba97b3932d578322e0530aab2ce Mon Sep 17 00:00:00 2001 From: hogweed1 Date: Mon, 12 May 2025 21:38:25 +1000 Subject: [PATCH] be be bechka lo --- global_conf.py | 6 +++++- handlers/metrics.py | 11 +++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/global_conf.py b/global_conf.py index d3cdbed..a2318af 100644 --- a/global_conf.py +++ b/global_conf.py @@ -5,4 +5,8 @@ import yaml with open("config.yaml", 'r') as f: CONFIG = yaml.load(f, Loader=yaml.Loader) -METRICS_INITIALIZED = False \ No newline at end of file +METRICS_INITIALIZED = False + +pipisa_length_metric = None +user_attempt_metric = None +user_last_attempt_metric = None diff --git a/handlers/metrics.py b/handlers/metrics.py index b5beb89..78feb53 100644 --- a/handlers/metrics.py +++ b/handlers/metrics.py @@ -1,7 +1,7 @@ import json import time from prometheus_client import Gauge, Info -from global_conf import METRICS_INITIALIZED +from global_conf import pipisa_length_metric, user_attempt_metric, user_last_attempt_metric class user_info_struct: user_id: str @@ -16,12 +16,15 @@ class user_info_struct: 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.""" - global METRICS_INITIALIZED - if not METRICS_INITIALIZED: + global pipisa_length_metric + if not pipisa_length_metric: pipisa_length_metric = Gauge('user_length_total', 'Pipisa length', labelnames=['ChatID', 'Username']) + global user_attempt_metric + if not user_attempt_metric: user_attempt_metric = Gauge('user_attempts_total', 'Attempts count', labelnames=['ChatID', 'Username']) + global user_last_attempt_metric + if not user_last_attempt_metric: 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)