Enhance metrics handling and logging in bot

- Integrated metrics scheduler start and stop functionality in `run_helper.py` for better resource management.
- Improved logging for metrics server operations in `server_prometheus.py`, ensuring clearer error reporting and status updates.
- Updated metrics middleware to collect comprehensive metrics for all event types, enhancing monitoring capabilities.
- Added active user metrics tracking in `admin_handlers.py` to provide insights on user engagement.
- Refactored command and callback handling in `metrics_middleware.py` to improve clarity and error handling.
This commit is contained in:
2025-09-03 16:16:14 +03:00
parent c8c7d50cbb
commit fe06008930
6 changed files with 598 additions and 80 deletions

View File

@@ -81,8 +81,20 @@ async def start_bot(bdf):
# Запускаем метрики сервер
await start_metrics_server(metrics_host, metrics_port)
# Запускаем планировщик метрик для периодического обновления
from .utils.metrics_scheduler import start_metrics_scheduler
await start_metrics_scheduler()
logging.info(f"✅ Метрики сервер запущен на {metrics_host}:{metrics_port}")
logging.info("✅ Планировщик метрик запущен")
# Запускаем бота с retry логикой
await start_bot_with_retry(bot, dp)
logging.info("✅ Бот запущен")
except Exception as e:
logging.error(f"❌ Ошибка запуска метрик сервера: {e}")
# Продолжаем работу бота даже если метрики не запустились
except Exception as e:
logging.error(f"Error in bot startup: {e}")
@@ -99,5 +111,5 @@ async def start_bot(bdf):
await bot.session.close()
except Exception as e:
logging.error(f"Error closing bot session: {e}")
return bot