Перейти к основному содержанию
Перейти к основному содержанию

Дельты событий с ClickStack

Дельты событий (Event Deltas) в ClickStack — это функция, ориентированная на трейсы, которая автоматически анализирует их свойства, чтобы определить, что изменилось при деградации производительности. Сравнивая распределения задержек для «нормальных» и «медленных» трейсов в наборе данных, ClickStack подсвечивает, какие атрибуты сильнее всего коррелируют с этим отличием — будь то новая версия развертывания, конкретный endpoint или определённый идентификатор пользователя.

Вместо ручного перебора данных трейсов дельты событий выводят на поверхность ключевые свойства, определяющие различия в задержках между двумя подмножествами данных, что значительно упрощает диагностику регрессий и определение первопричин. Эта функция позволяет визуализировать сырые трейсы и сразу видеть факторы, влияющие на изменения производительности, ускоряя реагирование на инциденты и сокращая среднее время до их устранения.

Дельты событий (Event Deltas)

Использование Event Deltas

Event Deltas доступны напрямую через панель Search в ClickStack при выборе источника типа Trace.

В левом верхнем селекторе Analysis Mode выберите Event Deltas (с выбранным источником Trace), чтобы переключиться со стандартной таблицы результатов, в которой спаны отображаются строками.

Event Deltas не выбраны

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

Event Deltas подсвечены

Затем пользователи могут выбрать область на визуализации — желательно с более длительными спанами и достаточной плотностью — и нажать Filter by Selection. Это обозначает «выбросы» для анализа. После этого Event Deltas определит столбцы и ключевые значения, которые сильнее всего связаны с этими спанами в подмножестве выбросов по сравнению с остальной частью набора данных. Фокусируясь на областях с значимыми выбросами, ClickStack выделяет уникальные значения, отличающие это подмножество от общего корпуса, и выводит атрибуты, которые наиболее коррелируют с наблюдаемыми различиями в производительности.

Event Deltas выбраны

Для каждого столбца ClickStack определяет значения, которые сильно смещены в сторону выбранного подмножества выбросов. Другими словами, когда значение встречается в столбце и преимущественно появляется во выбросах, а не в общем наборе данных (inliers), оно помечается как значимое. Столбцы с наибольшим смещением перечисляются первыми, выводя атрибуты, которые сильнее всего связаны с аномальными спанами и отличают их от базового поведения.

Выбросы Event Deltas

Рассмотрим приведённый выше пример, где был выделен столбец SpanAttributes.app.payment.card_type. Здесь анализ Event Deltas показывает, что 29% inliers используют MasterCard, при этом среди выбросов их 0%, тогда как 100% выбросов используют Visa по сравнению с 71% inliers. Это говорит о том, что тип карты Visa сильно связан с аномальными трейcами с повышенной задержкой, тогда как MasterCard встречается только в нормальном подмножестве.

Проблема в Event Deltas

Наоборот, значения, связанные исключительно с inliers, тоже могут быть интересны. В приведённом выше примере ошибка Visa Cash Full встречается исключительно среди inliers и полностью отсутствует в спанах-выбросах. В таких случаях задержка всегда менее примерно 50 миллисекунд, что позволяет предположить, что эта ошибка связана с низкими задержками.

Как работает Event Deltas

Event Deltas работает, выполняя два запроса: один для выбранной области выбросов (outlier area) и один для области без выбросов (inlier area). Каждый запрос ограничен соответствующей длительностью и временным окном. Затем анализируется выборка событий из обоих наборов результатов, и определяются столбцы, для которых высокая концентрация значений наблюдается преимущественно в выбросах. Столбцы, для которых 100% значений встречаются только в подмножестве выбросов, показываются первыми, выделяя атрибуты, в наибольшей степени ответственные за наблюдаемые различия.

Настройка графика

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

Конфигурация по умолчанию

По умолчанию визуализация использует:

  • Y Axis: Duration — отображает значения задержки по вертикали
  • Color (Z Axis): count() — показывает количество запросов во времени (ось X)

Такая конфигурация отображает распределение задержки во времени, при этом интенсивность цвета показывает, сколько событий попадает в каждый диапазон.

Изменение параметров

Вы можете изменять эти параметры, чтобы исследовать разные аспекты ваших данных:

  • Value: Определяет, что отображается по оси Y. Например, можно заменить Duration на метрики, такие как уровень ошибок или размер ответа.
  • Count: Управляет цветовым отображением. Можно переключиться с count() (количество событий в бакете) на другие агрегирующие функции, такие как avg(), sum(), p95(), или даже на пользовательские выражения, например countDistinct(field).
Настройка Event Deltas

Рекомендации

Event Deltas лучше всего работают, когда анализ сосредоточен на конкретном сервисе. Задержка между разными сервисами может сильно различаться, что затрудняет выявление столбцов и значений, в наибольшей степени ответственных за выбросы. Перед включением Event Deltas отфильтруйте спаны до набора, в котором ожидается схожее распределение задержек. Наиболее полезные выводы даёт анализ наборов, где сильная вариативность задержки считается нетипичной, и избегаются случаи, когда она является нормой (например, для двух разных сервисов).

При выборе области пользователям следует нацеливаться на подмножества, где есть чёткое распределение более медленных и более быстрых значений длительности, что позволяет аккуратно выделить спаны с высокой задержкой для анализа. Например, обратите внимание, что выделенная ниже область явно охватывает набор более медленных спанов для анализа.

Разделение Event Deltas

Напротив, следующий набор данных сложно проанализировать с помощью Event Deltas так, чтобы получить полезные результаты.

Плохое разделение Event Deltas