[EPIC-PMA-001] End-to-End Distributed Trace Streaming
Сбор распределенных логов по X-Request-ID и трансляция SSE-потоков на клиент
NoteКраткая карточка эпика
- Эпик: (EPIC-PMA-001)
- Компоненты: bupar-audit-service, Grafana Loki, Promtail, Mobile App (ObservabilityScreen)
- Статус: Готово к реализации
- Направление связи: Loki API \(\rightarrow\) PMA Service \(\rightarrow\) Flutter Screen (
ObservabilityScreen)
Бизнес-контекст и цель (Business Context)
Пользователь должен в реальном времени видеть, на каком этапе находится обработка его тяжелого запроса (например, парсинг чека через OCR). Эпик реализует сборщик логов, проиндексированных по заголовку X-Request-ID через цепочку Nginx -> FastAPI -> Kafka -> Promtail -> Loki, и предоставляет высокопроизводительный эндпоинт для передачи этих данных на мобильное устройство.
Список атомарных задач:
- [Backend] SSE-стример логов [Метод 1]: Реализация асинхронного FastAPI-метода
/api/v1/observability/streamдля передачи логов из Loki в формате Server-Sent Events (observability_stream.py). - [Frontend] Экран Observability во Flutter [Экран 1]: Разработка интерфейса экрана
ObservabilityScreenс динамическим выводом терминальных логов по подписке на SSE (observability_screen.dart). - [DevOps/Infra] Интегратор хаба трейсинга [Скрипт 1]: Настройка централизованных правил маршрутизации логов и меток индексации в Grafana Loki под нужды домена PMA (
loki_index_rules.yml).