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

Event deltas с ClickStack

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

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

Event deltas

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

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

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

Event deltas не выбраны

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

Event deltas выделены

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

Event deltas выбраны

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

выбросы Event deltas

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

проблема Event deltas

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

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

Event deltas работает, выполняя два запроса: один для выбранной области выбросов (выброс 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