• Русский
  • Query Tracing

    Feature Overview

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

    • Трассировка цепочки запроса: Восстановление полного пути запроса в сложных распределённых системах.
    • Анализ узких мест производительности: Выявление аномальных узлов вызова по времени выполнения в цепочке.
    • Определение корня ошибки: Быстрая локализация точки возникновения проблемы с помощью маркировки ошибок.

    Применимые сценарии включают:

    • Быстрое обнаружение аномальных сервисов при устранении неисправностей в продуктивной среде.
    • Выявление участков с высокой задержкой вызовов при оптимизации производительности.
    • Проверка взаимосвязей межсервисных вызовов после выпуска новой версии.

    Ключевые ценности:

    • Повышение наблюдаемости распределённых систем.
    • Сокращение среднего времени восстановления (MTTR).
    • Оптимизация производительности межсервисных вызовов.

    Main Features

    • Многомерный поиск: Поддержка 6 комбинаций условий запроса, таких как TraceID, имя сервиса, метки и др.
    • Визуальный анализ: Интуитивное отображение иерархии вызовов и распределения времени с помощью временных водопадных диаграмм.
    • Точная локализация: Поддержка фильтрации по ошибочным Span и вторичных поисков с метками.

    Feature Advantages

    • Быстрая идентификация проблем: Сужение области поиска с помощью многомерных условий ускоряет локализацию проблем.
    • Визуальное представление: Использование временных водопадных диаграмм для наглядного отображения связей вызовов снижает сложность и повышает эффективность анализа ошибок.
    • Гибкость и разнообразие: Поддержка как простых, так и сложных комбинаций запросов, адаптированных под различные сценарии эксплуатации и разработки.

    Tracing Query

    Step 1: Combine Query Conditions

    Совет: Условия запроса можно комбинировать. Вы можете уточнить запрос, добавляя несколько условий.

    Query ConditionDescription
    TraceIDУникальный идентификатор полной цепочки, по которому можно выполнить поиск конкретного трассирования.
    ServiceСервис, инициирующий или принимающий запрос вызова (необходимо выбрать или ввести).
    LabelМожно фильтровать результаты запроса, вводя метки (Tag), поддерживаются метки из деталей Span.
    Span Duration Greater ThanSpans с длительностью больше или равной введённому значению (мс).
    Only Search Error SpansОшибочные Spans — это Spans, у которых значение тега error равно true.
    Span TypeRoot Span: Поиск корневых Span, инициированных указанным сервисом. Этот режим используется, когда указанный сервис является инициатором всего запроса.
    Service Entry Span: Поиск первого Span, созданного при вызове указанного сервиса в роли сервера.
    Maximum Query CountМаксимальное количество Span, которые можно запросить, по умолчанию 200.
    Совет: Для производительности платформа отображает максимум 1000 Span за один раз. Если количество Span, соответствующих условиям, превышает максимальное количество запросов, можно уточнить условия или сузить временной диапазон для поэтапного поиска.

    Step 2: Execute Query

    • После выбора условий и ввода значений нажмите кнопку Add to Query Conditions, текущие условия отобразятся в области результатов Query Conditions, что запустит запрос.
    • Также можно развернуть Common Query Conditions для быстрого добавления недавно использованных условий поиска.

    Query Result Analysis

    После ввода условий и выполнения поиска на странице появится область с результатами запроса.

    Span List

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

    Time-Series Waterfall Chart

    Временная водопадная диаграмма справа на странице результатов наглядно показывает связи вызовов между Span в одном трассировании. Основные особенности использования временных водопадных диаграмм в анализе трассировок:

    1. Раскрытие сверху вниз: В диаграмме вызовы (Span) обычно раскрываются вниз от верхней части, каждая горизонтальная полоса представляет вызов сервиса или процесс. Положение отражает логический порядок вызовов.
    2. Выравнивание по временной оси: Горизонтальная ось — время. Длина полосы показывает длительность вызова, что позволяет интуитивно сравнивать временные отношения между вызовами.
    3. Отступы: Отступы показывают иерархию вызовов, чем глубже отступ, тем глубже уровень вызова в цепочке.
    4. Интерактивность и подробности: Клик по полосам диаграммы отображает более детальную информацию о вызове.

    Span Details

    Клик по строке Span в диаграмме раскрывает подробную информацию о Span, включая:

    • Service: сервис, к которому относится Span.
    • Span Duration (ms): длительность Span.
    • URL: URL, к которому обращается сервис, соответствует http.url в тегах Span.
    • Tag: метки Span в виде пар ключ-значение, которые можно использовать для расширенного поиска по меткам. Кнопка рядом с меткой позволяет добавить текущее условие метки в запрос для более точного поиска.
    • JSON: исходная JSON-структура Span для детального изучения внутренней информации.