Refactor Docker and configuration files for improved structure and functionality
- Updated `.dockerignore` to include additional development and temporary files, enhancing build efficiency. - Modified `.gitignore` to remove unnecessary entries and streamline ignored files. - Enhanced `docker-compose.yml` with health checks, resource limits, and improved environment variable handling for better service management. - Refactored `Dockerfile.bot` to utilize a multi-stage build for optimized image size and security. - Improved `Makefile` with new commands for deployment, migration, and backup, along with enhanced help documentation. - Updated `requirements.txt` to include new dependencies for environment variable management. - Refactored metrics handling in the bot to ensure proper initialization and collection.
This commit is contained in:
@@ -22,7 +22,7 @@ class BotMetrics:
|
||||
self.bot_commands_total = Counter(
|
||||
'bot_commands_total',
|
||||
'Total number of bot commands processed',
|
||||
['command_type', 'handler_type', 'user_type'],
|
||||
['command', 'status', 'handler_type', 'user_type'],
|
||||
registry=self.registry
|
||||
)
|
||||
|
||||
@@ -62,6 +62,14 @@ class BotMetrics:
|
||||
registry=self.registry
|
||||
)
|
||||
|
||||
# Database queries counter
|
||||
self.db_queries_total = Counter(
|
||||
'db_queries_total',
|
||||
'Total number of database queries executed',
|
||||
['query_type', 'table_name', 'operation'],
|
||||
registry=self.registry
|
||||
)
|
||||
|
||||
# Message processing metrics
|
||||
self.messages_processed_total = Counter(
|
||||
'messages_processed_total',
|
||||
@@ -88,10 +96,11 @@ class BotMetrics:
|
||||
registry=self.registry
|
||||
)
|
||||
|
||||
def record_command(self, command_type: str, handler_type: str = "unknown", user_type: str = "unknown"):
|
||||
def record_command(self, command_type: str, handler_type: str = "unknown", user_type: str = "unknown", status: str = "success"):
|
||||
"""Record a bot command execution."""
|
||||
self.bot_commands_total.labels(
|
||||
command_type=command_type,
|
||||
command=command_type,
|
||||
status=status,
|
||||
handler_type=handler_type,
|
||||
user_type=user_type
|
||||
).inc()
|
||||
@@ -123,6 +132,11 @@ class BotMetrics:
|
||||
table_name=table_name,
|
||||
operation=operation
|
||||
).observe(duration)
|
||||
self.db_queries_total.labels(
|
||||
query_type=query_type,
|
||||
table_name=table_name,
|
||||
operation=operation
|
||||
).inc()
|
||||
|
||||
def record_message(self, message_type: str, chat_type: str = "unknown", handler_type: str = "unknown"):
|
||||
"""Record a processed message."""
|
||||
|
||||
Reference in New Issue
Block a user