Debug Service
Файл:
backend/src/services/debug.rs
Сервис отладки и диагностики. Предоставляет доступ к реестру команд, логам приложения и управлению потоком логов.
Эндпоинты
| Метод | Путь | Функция | Описание |
|---|---|---|---|
| GET | /api/debug/registry | get_command_registry_svc | Реестр команд API |
| POST | /api/debug/logs | get_logs_svc | Получить логи с фильтрацией |
| POST | /api/debug/logs/start | start_log_stream_svc | Запустить поток логов |
| POST | /api/debug/logs/stop | stop_log_stream_svc | Остановить поток логов |
Зависимости
LOG_BUFFER— глобальный кольцевой буфер логовEventBus— SSE-поток логов в UI- Встроенный
metadata.json— compile-time метаданные команд
get_command_registry_svc
GET /api/debug/registry
Возвращает реестр всех зарегистрированных API-команд (метаданные, сгенерированные при компиляции).
Возвращает
Result<CommandRegistry, String>
Логика
- Загружает встроенный
metadata.json(compile-time) - Парсит JSON в
CommandRegistry - Содержит: имена команд, HTTP-методы, пути, параметры
get_logs_svc
POST /api/debug/logs
Получает логи из кольцевого буфера с опциональной фильтрацией.
Параметры
| Имя | Тип | Описание |
|---|---|---|
filter | Option<LogFilter> | Фильтр (уровень, модуль, текст) |
Возвращает
Result<Vec<LogEntry>, String>
Логика
- Вызывает
LOG_BUFFER.get_filtered(&filter) - Возвращает отфильтрованные записи
start_log_stream_svc / stop_log_stream_svc
POST /api/debug/logs/start / POST /api/debug/logs/stop
Управление SSE-потоком логов в реальном времени. Текущая реализация — no-op (заглушка).