Сигналы качества данных и инцидентов на дашбордах: модалка инцидента и шторки на графиках

В базовом Apache Superset нет самой модели инцидентов — когда апстримный пайплайн ломается, дашборд продолжает рисовать битые числа, и аналитик никак не узнаёт об этом из продукта. Форк связывает дашборд с системой качества данных платформы: при открытии дашборда с активным инцидентом всплывает модалка «Примечание о качестве данных», в шапке висит оранжевый бейдж «Невалидные данные» с количеством затронутых графиков, а каждый график, чей датасет попал в инцидент, получает закрываемую шторку.

Сравнение

Почувствуйте разницу

У этой возможности нет аналога в Apache Superset 4.1 — сравнивать не с чем. Откройте скриншот форка для детального просмотра.

Наш форкФорк Drafted

Интерактивный разбор

Как модалка инцидента встречает аналитика при открытии дашборда

Наведите или нажмите на точку, чтобы увидеть, как каждый блок модалки ложится на реальный вопрос аналитика. Модалка нарочно сделана не тостом, а блокирующим объяснением: какие графики на этом дашборде нельзя читать, пока апстримный инцидент не закрылся.

Форк Drafted

Шторки на графиках

Как заафекченные графики предупреждают аналитика прямо на дашборде

После закрытия модалки источником истины о «рисковом срезе» остаётся сам дашборд. Заафекченные графики получают закрываемую шторку с кнопкой «Просмотреть все равно», а графики на здоровых датасетах рендерятся как обычно. Сигнал — на уровне графика и пользователя, и обратимый: никаких глобальных блэкаутов, никаких постоянных блокировок и никакого молчаливого отключения для следующего аналитика, который откроет борд.

Наш форкФорк Drafted

Внутри дашборда

Как устроена шторка на отдельном графике

Каждая аннотация показывает, как один график на дашборде реагирует на то, что его датасет попал в инцидент. Здоровые и нездоровые графики уживаются в одном дашборде — режим действует на уровне датасета, а не на уровне дашборда.

Форк Drafted

Контекст

Почему это важно

Когда дата-платформа сообщает об активном инциденте на любом датасете, от которого зависит дашборд, при открытии дашборда автоматически всплывает модалка «Примечание о качестве данных». Это не общий варнинг: модалка явно указывает дату инцидента и перечисляет по именам каждый график на дашборде, который тянет данные из заафекченного датасета — аналитик видит точный «битый периметр» ещё до того, как взял в руки первое число. Модалку можно закрыть (крестик в углу), но сам сигнал — нет: в шапке дашборда остаётся оранжевый бейдж «Невалидные данные: N графиков», по которому модалка снова открывается одним кликом, и аналитик не забудет, что дашборд работает в degraded-режиме.

После закрытия модалки источником истины о «рисковом срезе» становится сам дашборд. Каждый заафекченный график рендерится со шторкой: на большинстве плиток это тонкое предупреждение «Данные могут быть неточными» с кнопкой «Просмотреть все равно», на более критичных тайлах — расширенный вариант «Этот график может содержать неверные данные, поскольку датасет имеет активный инцидент». Шторка действует на уровне «график × пользователь»: закрытие на одном графике открывает данные под ним только текущему аналитику и не отключает молча предупреждение для остальных, а при следующем заходе на дашборд полный сигнал возвращается. Графики, чьи датасеты не попали в инцидент, рендерятся как обычно — никакого глобального блэкаута дашборда и никакого «всё или ничего».

Вся эта поверхность завязана на модель инцидентов нашей внутренней системы качества данных и observability — Superset слушает активные инциденты по датасетам, от которых зависит дашборд, и режим модалки + шторок включается только пока хотя бы один из этих датасетов в открытом инциденте. Когда инцидент закрылся апстримом, бейдж и шторки уходят при следующем открытии дашборда. В базовом Apache Superset нет ни модели инцидентов, ни DQ-сигнала на уровне датасета, ни оверлея на уровне графика — у аналитика нет внутри продукта способа понять, что сегодняшние числа собраны на заведомо битом прогоне пайплайна.

Связанные фичи

Возможности, которые обычно едут в одной волне с этой. Бейдж пакета показывает, в каком тарифе живёт каждая фича.