Skip to main content

Улучшенная фильтрация схем с учётом версии

Демо от @knudtty
Теперь ClickStack применяет оптимизацию direct_read только для версий ClickHouse 26.2 и выше, где индекс полнотекстового поиска корректно поддерживает столбцы-алиасы, добавленные в схемы с открытым исходным кодом. Раньше эту оптимизацию могли пытаться использовать на более старых версиях, где она работала некорректно. Проверка версии выполняется во время выполнения запроса путём анализа схемы, а сами столбцы-алиасы теперь по умолчанию включены в схемы с открытым исходным кодом. Также было показано, что ведётся работа по замене materialized view для автодополнения прямыми запросами к text index. Сейчас оба механизма частично дублируют друг друга, создавая дополнительную нагрузку на приём данных. Если бенчмарки подтвердят, что запросы к text index не уступают по производительности, materialized view можно будет упростить или убрать. Аарон также ответил на вопросы команды о том, как позиционное кодирование в будущих версиях ClickHouse text index может сделать операции lookup в фильтрах ключ-значение ещё точнее. Связанные PR: #2341 feat: по умолчанию добавляет оптимизацию direct_read для журналов и трасс, #2405 feat(common-utils): применяет оптимизацию direct_read для элементов KV к SQL-фильтрам, #2376 feat: использует text index для фильтров и автодополнения

Более качественный разбор журналов

Демо от @dhable
У одного клиента были журналы, в которых тело события представляло собой объект JSON с полем level. Логика определения уровня серьезности делала две вещи: разбирала тело как JSON, чтобы извлечь атрибуты, а затем, если уровень серьезности не был задан на уровне OTel, переходила к сопоставлению со строками. При этом сопоставление со строками подхватывало слово “alert” из имени alert manager внутри тела, из-за чего уровень журнала определялся неверно. Исправление добавляет защитное условие: если тело разбирается как JSON и уже содержит поле level, шаг строкового определения полностью пропускается. Набор smoke-тестов, созданный около года назад, позволил легко проверить исправление и выявить связанные пограничные случаи, просто добавив новые тест-кейсы, — именно для этого он и был задуман. Связанные PR: #2363 fix(log-parser): пропускать строковое определение, если тело разбирается как JSON с полем level

Улучшения MCP Server

Демо от @brandon-pereira
На этой неделе вышло несколько улучшений для MCP: улучшены бакетизация и оценка шаблонов событий, подсказки об ошибках и очистка общих вспомогательных функций. Префиксы инструментов также были переименованы с hyperdx_ на clickstack_, чтобы соответствовать названию продукта. Связанные PR: #2337 feat(mcp): улучшение качества инструментов MCP — подсказки об ошибках, общие вспомогательные функции, более понятные сообщения, #2396 refactor(mcp): переименование префиксов инструментов с hyperdx_ на clickstack_, #2343 feat(mcp): добавление инструментов patch_dashboard, get_dashboard_tile, search_dashboards, #2418 fix(mcp): улучшение описаний alias и примеров для более читаемых легенд диаграмм, #2412 refactor: упрощение проверки ObjectId в MCP с помощью общих вспомогательных функций и проверок на уровне схемы

Новая цветовая палитра серий

Демо от @elizabetdev
Елизабет работала над унификацией цветовой палитры визуализации данных в темах HyperDX и ClickStack, дополняя работу Alex над компонентом выбора цвета. У этих двух тем были разные палитры и отдельные правила-исключения для каждой, из-за чего работа с цветами становилась неоправданно сложной. Цель состояла в том, чтобы создать единую палитру, подходящую для обеих тем. Она протестировала распространённые в индустрии палитры (Tableau, Observable, IBM) с помощью инструмента симуляции цветового зрения, чтобы проверить контрастность и доступность. Палитра ClickHouse показала плохие результаты — зелёный цвет недостаточно контрастен на белом фоне. И Tableau, и Observable не проходят как минимум одну из проверок; палитра IBM проходит их все, но в ней всего пять цветов, а этого недостаточно. В целом ближе всего подошла палитра Observable с небольшой корректировкой синего, и теперь она будет использоваться в обеих темах. Связанные PR: #2362 refactor(theme): переименовать токены палитры графиков в названия цветовых тонов + унифицировать для всех тем

Новый макет страницы с закреплённым заголовком

Демо от @elizabetdev
Новая пара компонентов PageHeader и PageLayout была внедрена на всех основных страницах: панели мониторинга, service map, Client Sessions, Kubernetes и панели мониторинга ClickHouse. Теперь у всех страниц одинаковые отступы, линия-разделитель под заголовком и единая структура заголовка. Раньше страницы были оформлены по-разному: где-то заголовок располагался слева, а элементы управления справа, а где-то заголовка не было вовсе. Закреплённое поведение включается через prop. Всё, что вы передаёте в sticky slot, остаётся закреплённым под заголовком при прокрутке; всё остальное прокручивается как обычно. Если ничего не передано, автоматически закрепляются только breadcrumbs или параметры страницы. Связанные PR: #2282 Добавление PageHeader/PageLayout и миграция Sessions, #2345 Использование заголовка PageHeader на страницах списков, #2346 Миграция Service Map на PageLayout, #2347 Миграция панели мониторинга Kubernetes на PageLayout, #2348 Миграция панели мониторинга ClickHouse на PageLayout, #2364 feat(dashboard): миграция на PageLayout с закреплённой панелью инструментов запросов, #2394 fix(PageHeader): сохранение закреплённого заголовка под оверлеями drawer

Новый селектор источника данных и выбор цвета для серий

Демо от @alex-fedotyev
Два улучшения интерфейса от Алекса. Селектор источника данных стал проще: теперь по нажатию показываются только источники данных для выбора. Управляющие действия, такие как просмотр схемы или создание нового источника, вынесены в отдельное меню с тремя точками. Это отделяет выбор от конфигурации — то, что давно было в списке задач и что учитывает отзывы команды. У плиток Number теперь тоже есть статический выбор цвета, так что для метрики можно задать конкретный цвет. Правила условной раскраски (переключение на красный, зелёный или жёлтый в зависимости от порогового значения или столбца) тоже в работе. Когда появится унифицированная палитра Элизабет, в обоих случаях будут использоваться нормально именованные цвета вместо нынешних меток вроде “color 1, 2, 3”, что должно стать заметным улучшением для пользователей, переходящих из таких инструментов, как Grafana. Связанные PR: #2365 feat(source-picker): chip + kebab menu UX, #2265 feat(app): number tile static color picker

Более наглядные подсказки для действий на панели мониторинга

Демо от @alex-fedotyev
Строки в табличных плитках на панели мониторинга теперь дают более понятную подсказку при наведении. При наведении меняются курсор и значок, показывая, что произойдет при щелчке: либо откроется связанная панель мониторинга, либо будет выполнен переход к детализации в источнике данных. Раньше было неочевидно даже то, что строки вообще кликабельны, не говоря уже о том, что именно произойдет по щелчку. Связанные PR: #2321 feat(app): подсказка при наведении и нативный индикатор ссылки для щелчка по строке в табличной плитке панели мониторинга
Последнее изменение 3 июля 2026 г.