четверг, 27 августа 2026 г.

Как мне ИИ помог в Redash разобраться

 Одно из применений ИИ — вникнуть в проект и понять "что тут происходит / что мне делать по задаче". Вот как раз о таком применении я сегодня и расскажу.

У нас настроен дашборд в Redash для проведения НТ (нагрузочного тестирования). Его настроили один раз давно и сейчас тестировщик, проводящий НТ, просто открывает ссылочку и смотрит на циферки:


Циферки показывают дату запуска, время, и разницу между последними запусками. И даже раскрашивают эту разницу:

  • зеленый цвет — все ок
  • красный — иди проверь, все ли там в порядке

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

То есть в редаше настройки не трогаем, просто смотрим дашборд (обычно). Если добавляется задача в регрессионный триггер, она автоматически появится в дашборде, так как он ищет по конкретному паттеру в названии.

Но тут мне понадобилось его поменять... 

Мы добавили «тяжелые» задачи, но запускать их решили не еженедельно, а ежемесячно. Сделали отдельный триггер, но хотелось бы видеть их тоже на привычном дашборде. На самом деле можно было бы им название подкрутить, чтобы было "как в нашем триггере". Ну или обновить скрипт дашборда.

Вот только я с Redash работала только на уровне «тык-тык по ссылочке». И раньше бы пошла искать знающего человека, чтобы он показал «как тут все устроено» А теперь для этого есть ИИ! Так что я решила начать с общения с чатиком.

Пошла к ChatGPT (оригинальному, не trychat или что-то такое, но в целом, можно было поговорить с любой ИИ), начала спрашивать:

У меня есть дашборд в зеус (ссылка), а как я могу посмотреть данные в его БД?
Чат подсказал, что надо искать source запроса:

Если скинешь сюда скрин страницы source или сам SQL из query, я прямо покажу, какая там БД, какие таблицы и каким запросом посмотреть их данные

Кнопочку «Edit Source» справа вверху я еще раньше виеола, так что зашла в исходный код и показала чату запрос к базе. А он мне рассказал, как он устроен и как можно посмотреть просто данные из базы, до фильтраций.

Но где смотреть? Менять source текущего запроса страшно, сломаю еще что-нибудь... Тогда я просто сделала еще раз скриншот экрана и кинула в чат с вопросом:

и куда мне тут тыкать, чтобы создать собственный запрос и не сломать имеющийся?

Чат мне тут же подсказал:

Да — чтобы точно не трогать текущий Regression_Tasks_new, нажми слева в тёмной панели Create (значок +), а не редактируй SQL на этой странице.

Дальше выбери создание Query / New Query (название пункта может немного отличаться). В новом запросе выбери источник CH_zeus — тот же, который виден у тебя сейчас сверху слева.

Для проверки вставь безопасный read-only запрос: ...


Нашла, отлично! Ну, с SQL я уже знакома, так что потыкала разные селектики, чтобы понять. что вообще происходит. Когда начала добавлять условия (вручную), налетела на ошибку:

Code: 47. DB::Exception: Unknown expression or table expression identifier node in scope ... (тут мой запрос целиком). Maybe you meant: ['NODE']

Скопировала ошибку, скинула в чат, он мне и объяснил, что в ClickHouse (на основе данных которого и строится дашборд) имена колонок регистрозависимы. Ок, исправила, таблицы изучила.

Дальше решила не химичить сама, и снова спросила чат, указав на то место кода, которое собиралась изменить:

я бы хотела имеющийся запрос (выше, где and task like ('%_Regression') ) расширить задачками task in ('Task1', 'Task2'), как это сделать?

И не зря! Для этого участка чат написал запрос так, как я бы сама хотела сделать, но закончил мысль так:

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

Вот блин! Как удачно, что я решила изменить запрос через него, а не самостоятельно. 

Да, давай

Применила правки от чатика, проверила результат — все хорошо. Потом спросила чат, как сохранить исходный запрос — у меня не было там кнопки сохранения. Скинула скрин, вот, мол, просто меняю и нажимаю Execute, да?

Да, если в Edit Source нет отдельной кнопки Save и изменения применяются через Execute (⚡), то ничего дополнительно сохранять не надо.

То есть: Edit Source → внести две правки → Execute → проверить результат.

Как вы думаете, я сохранила итоговый запрос в блокнот "на всякий случай"? 😅

Конечно же, нет, ИИ ведь сказал, что само применится! Обновила страницу, изменений нет))

Сходила к админу, попросила выдать прав, тогда и заветная кнопочка «Save» появилась... Ну и ладно, в чате с ИИ было же записано "измени тут вот так и тут вот так", снова изменила, сохранила... Фух, готово!


Итого 

Если бы я гуглила информацию, то долго бы искала ответы на свои вопросы (как не навредить, случайно затронув прод-запрос). Тут проще сходить за консультацией. Только вот вместо того, чтобы отвлекать коллегу, я помучала ChatGPT! 

И в такие моменты ИИ очень хорош, погрузиться в новую для себя тему «самостоятельно». И именно такой навык будет цениться работодателями. как ранее навык гугления (имхо) 😊

Комментариев нет:

Отправить комментарий