• Русский
  • Query Trace

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

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

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

    Основные ценности:

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

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

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

    Запрос трассировки

    Шаг 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 в виде пар ключ-значение, которые можно использовать для расширенного поиска по тегам. Кнопка рядом с меткой позволяет добавить текущее условие Tag в запрос для более точного поиска.
    • JSON: исходная JSON-структура Span для детального изучения внутренней информации.