• Русский
  • Query Trace

    Содержание

    Обзор функции

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

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

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

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

    Ключевые преимущества:

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

    Основные возможности

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

    Преимущества функции

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

    Trace Query

    Шаг 1: Комбинирование условий запроса

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

    Условие запросаОписание
    TraceIDУникальный идентификатор полной цепочки, по которому можно выполнить поиск конкретного трассирования.
    ServiceСервис или ingress gateway, инициирующий/принимающий вызовы (обязательно для ввода). Формат: <service/gateway name>.<namespace name>, например, bookinfo-gw.bookinfo-ns.
    ClientКлиентский сервис или ingress gateway, инициирующий вызов (обязательно для ввода). Формат: <service/gateway name>.<namespace name>.
    ServerСерверный сервис или ingress gateway, отвечающий на вызов (обязательно для ввода). Формат: <service/gateway name>.<namespace name>.
    APIAPI, добавленное для сервиса в разделе Services > API.
    TagsМожно фильтровать результаты запроса, вводя теги (Tag). Поддерживаются теги, найденные в деталях Span.
    Span duration >Spans с длительностью больше или равной введённому значению (мс).
    Only error tracesОшибочные Spans — это Spans, у которых значение тега error равно true.
    Span kindRoot Span: Поиск корневых Spans, инициированных указанным сервисом. Используется, когда сервис является инициатором всего запроса.
    Service Entry Span: Поиск первого Span, созданного при вызове указанного сервиса в роли сервера.
    Max query countМаксимальное количество Spans для запроса, по умолчанию 200.
    Совет: Для производительности платформа отображает не более 1000 Spans за один раз. Если количество Spans, соответствующих условиям, превышает максимальное количество, уточните условия запроса или сузьте временной диапазон для поэтапного поиска.

    Шаг 2: Выполнение запроса

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

    Анализ результатов запроса

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

    Список Span

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

    Временная водопадная диаграмма

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

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

    Детали Span

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

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