Демо-дни — 2026-05-15
Оповещения из ноутбуков
Демо от @brandon-pereira
Теперь ноутбуки могут создавать оповещения. Тот же процесс в ноутбуке, который уже умеет на лету собирать панели мониторинга, теперь также настроит для вас оповещение, так что вы сможете перейти от «вот интересный запрос» к «уведомь меня, когда это сработает», не выходя из ноутбука.
Есть один нюанс, о котором стоит знать. У нас в команде есть несколько заранее настроенных вебхуков, но сейчас ноутбук не задает уточняющих вопросов, поэтому просто выбирает тот вебхук, который кажется наиболее подходящим, вместо того чтобы дать выбор вам. Уже есть PR, который добавит ноутбукам возможность задавать уточняющие вопросы, когда им не хватает контекста, так что этот пробел скоро будет закрыт.
Автодополнение из materialized views
Демо от @knudtty
Некоторое время назад мы добавили materialized views для автодополнения атрибутов в строке поиска, благодаря чему значения стали появляться мгновенно, а не вычисляться на лету. Теперь мы используем те же MV и для боковых фильтров, поэтому на загруженных инстансах фильтры открываются заметно быстрее.
Есть одно изменение в поведении, на которое стоит обратить внимание. Фильтры на основе MV возвращают все возможные значения фильтров в пределах текущего диапазона времени, а не только в рамках текущего запроса. Есть переключатель, который позволяет вернуться к фильтрам, привязанным к поиску; в этом режиме выполняется более медленная агрегация по текущим результатам. Значение filterValueExpandedKeyLimit по умолчанию тоже было увеличено: 20 ключей без MV и 100 ключей с ними, с возможностью настроить это значение вплоть до любого нужного вам уровня (мы тестировали 1000).
Поддержка MV сравнительно недорога: она работает на нашем staging-инстансе с большим объёмом данных и показывает себя хорошо. Та же MV используется для автодополнения атрибутов и раскрытия столбца map, так что после настройки ускорение вы получаете сразу в нескольких местах. В ходе демо также обсуждался вопрос, не стоит ли вынести переключатель между фильтрами, привязанными к поиску, и всеми фильтрами в отдельный заметный переключатель в верхней части панели фильтров, а не оставлять его в настройках; это один из вариантов, которые мы рассматриваем в качестве следующего шага.
Связанные PR: #2272 feat: по умолчанию фильтры не учитывают поиск; ускорено с помощью MV
Порядок столбцов таблицы и форматирование для каждой серии
Демо от @pulpdrew
Одновременно появилось несколько связанных улучшений таблиц. Столбцы группировки теперь можно закреплять слева, а не всегда отображать справа — обычно именно так и нужно для панелей мониторинга в стиле RED, где взгляд в первую очередь скользит по именам сервисов. Для этого есть отдельная настройка отображения таблицы.
Теперь также поддерживаются числовые форматы для каждой серии. Раньше один числовой формат применялся ко всей таблице, из-за чего столбец Requests мог отображаться как 123ms, если в таблице была хотя бы одна серия с форматированием в миллисекундах. Теперь формат можно задавать для каждого столбца или каждой серии, поэтому количество запросов остается обычным числом, а столбцы с latency форматируются как длительность.
Кроме того, автоопределение формата теперь тоже работает отдельно для каждой серии. Если вы выполняете агрегацию по полю Trace Duration, для этой конкретной серии будет определен формат в миллисекундах, и вся остальная таблица не будет принудительно переведена в миллисекунды только потому, что один из столбцов содержит длительность.
Связанные PR: #2149 feat: Allow displaying group-by columns on LHS of table, #2174 feat: Add per-series number formats
Настраиваемые ссылки между панелями мониторинга
Демо от @pulpdrew
Таблицы на панелях мониторинга теперь могут по нажатию на строку вести на другие панели мониторинга (или в поиск), с настраиваемыми шаблонами как для целевой страницы, так и для передаваемых фильтров. В настройках плитки таблицы появился новый параметр — "действие по нажатию на строку". Выберите "панель мониторинга", укажите панель мониторинга для перехода, затем сопоставьте фильтры из текущей строки с фильтрами на целевой панели мониторинга. Для значений фильтров используются шаблоны в стиле Handlebars, поэтому можно подставлять значение любого столбца из нажатой строки в целевой фильтр или в предложение WHERE (как в SQL, так и в Lucene). В примере из демо это используется для списка сервисов: при нажатии на строку выполняется переход на панель мониторинга с подробной информацией о сервисе, где фильтр по service.name уже применён.
Вместо выбора конкретной целевой панели мониторинга можно задавать по шаблону само имя панели мониторинга. Поэтому, если у вас есть отдельные панели мониторинга для сервисов с именами вроде ${service.name} dashboard, ссылка может вести на ту из них, которая соответствует нажатой строке. Также предусмотрена обработка ошибок на случай, если панель мониторинга, заданная по шаблону, не существует: вместо перехода на неработающую страницу появляется уведомление.
Поддерживается несколько переменных: можно передавать любую комбинацию столбцов из нажатой строки либо в набор фильтров, либо в шаблон имени панели мониторинга. В Handlebars есть динамические helper'ы и условные блоки, но пока большинство из них отключено, чтобы возможности оставались ограниченными и предсказуемыми. Также обновлён процесс импорта: панели мониторинга, которые ссылаются на другие панели мониторинга по ID, теперь могут при импорте переназначать эти ссылки на панель мониторинга, существующую в целевой учётной записи.
Связанные PR: #2146 feat: Add filter templating to custom dashboard on-click, #2148 feat: Support import/export for dashboard onClicks, #2156 feat: Add custom onClick field to external dashboards API, #2273 feat: Add dashboard table onClick to MCP schemas and prompts