[EPIC-PMA-001] End-to-End Distributed Trace Streaming

Сбор распределенных логов по X-Request-ID и трансляция SSE-потоков на клиент

Author

PMA Domain Lead / Observability Engineer

Published

July 13, 2026

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).