Spaces:
Running
Running
| import json | |
| import os | |
| from datetime import datetime | |
| METRICS_FILE = "metrics_log.json" | |
| def save_metrics(metrics: dict): | |
| """ | |
| Сохраняет метрики в локальный JSON-файл. | |
| """ | |
| # Добавляем timestamp | |
| metrics["timestamp"] = datetime.now().strftime("%Y-%m-%d %H:%M:%S") | |
| # Если файла нет — создаём новый список | |
| if not os.path.exists(METRICS_FILE): | |
| with open(METRICS_FILE, "w", encoding="utf-8") as f: | |
| json.dump([], f, ensure_ascii=False, indent=2) | |
| # Загружаем старые метрики | |
| with open(METRICS_FILE, "r", encoding="utf-8") as f: | |
| data = json.load(f) | |
| # Добавляем новые | |
| data.append(metrics) | |
| # Сохраняем обратно | |
| with open(METRICS_FILE, "w", encoding="utf-8") as f: | |
| json.dump(data, f, ensure_ascii=False, indent=2) | |
| def read_metrics(): | |
| """ | |
| Возвращает все сохранённые метрики. | |
| """ | |
| if not os.path.exists(METRICS_FILE): | |
| return [] | |
| with open(METRICS_FILE, "r", encoding="utf-8") as f: | |
| return json.load(f) | |