Traces Explorer — обозреватель трейсов
На этой странице:
- Введение
- Как открыть
- Поиск и фильтрация трейсов
- Анализ трейса
- Флейм-граф трейса
- Вкладка GenAI: разбор LLM-приложений
- Логи трейса
- Выгрузка трейса в открытых форматах
- Сравнение двух трейсов
- Типичные сценарии использования
- Связь с инструментированием
Введение
Traces Explorer — раздел платформы Proto Observability, предоставляющий интерфейс для поиска и анализа распределенных трейсов (traces). Traces Explorer реализован как преднастроенный дашборд (слой GENERAL, дашборд «Traces-Explorer»), который включает виджеты для поиска, фильтрации и визуализации трейсов.
Распределенный трейс (trace) — это запись прохождения запроса через цепочку сервисов и компонентов. Каждый трейс состоит из набора спанов (spans), представляющих отдельные операции в рамках транзакции.
Версия
Данный функционал доступен начиная с версии 200.Как открыть
Перейдите в раздел Трейсы в основном меню навигации платформы. Откроется страница Traces Explorer с преднастроенными виджетами для поиска и анализа трейсов.
Поиск и фильтрация трейсов
Traces Explorer предоставляет возможности для поиска трейсов по различным критериям:
- По сервису — выберите один или несколько сервисов для отображения их трейсов
- По операции — фильтрация по имени операции (endpoint, метод)
- По длительности — поиск трейсов, превышающих заданное время выполнения
- По статусу — фильтрация по статусу выполнения (успешные, с ошибками)
- По временному диапазону — выбор периода для анализа
Результаты поиска отображаются в табличном виде с основными характеристиками каждого трейса: идентификатор, сервис, операция, длительность, статус, время начала.
Анализ трейса
При выборе конкретного трейса из результатов поиска открывается детальное представление, включающее:
Временная шкала (Timeline / Waterfall)
Диаграмма водопада отображает все спаны трейса на временной шкале. Каждый спан представлен горизонтальной полосой, длина которой пропорциональна его продолжительности. Вложенные спаны отображаются с отступом, показывая иерархию вызовов.

Инструменты анализа дерева спанов
Версия
Инструменты ниже доступны начиная с версии 201.Над диаграммой водопада доступен набор инструментов для быстрого разбора сложных трейсов:
- Поиск спанов — поиск по имени операции прямо в дереве трейса с переходом между совпадениями.
- Быстрый переход к узкому месту — платформа подсказывает спан, вносящий наибольший вклад в общую длительность трейса, и прокручивает дерево к нему.
- Подсветка критического пути — выделяет цепочку спанов, определяющую общее время выполнения трейса.
- Быстрый переход к ошибочному спану — по клику на индикатор «Источник ошибки» дерево прокручивается к спану, где возникла ошибка.
- Подсветка причины ошибки — платформа определяет спан, в котором ошибка возникла (а не была проброшена выше по цепочке вызовов), и показывает её тип.
- Скрытие спанов 0 мс — убирает мгновенные спаны, чтобы не загромождать дерево.
- Сжатие пауз — схлопывает интервалы ожидания между спанами, оставляя видимой только «свою» работу.
- Подсветка спанов сервиса — при выборе названия сервиса подсвечиваются все его спаны в дереве.
Работа с областью трейса
Версия
Возможности ниже доступны начиная с версии 203.- Полноэкранный режим — кнопка «развернуть на весь экран» отдаёт всю ширину окна дереву спанов, флейм-графу или графу вызовов. На длинных трейсах разбор перестаёт упираться в узкую колонку.
- Раскраска спанов — переключатель «Цвет» кодирует спаны либо именем
сервиса, либо типом спана (
client,server,producer,consumer,internal). Первый режим отвечает на вопрос «кто выполнял», второй — «что это за операция». - Вкладка «Сводка» показывает состав трейса до перехода к дереву: корневой сервис и первая операция, самый медленный спан, спаны с ошибками, обращения к базам данных и внешние HTTP-вызовы. Внешние вызовы сгруппированы по эндпоинту, ошибки выделены, а для группы указано, идут вызовы друг за другом или перекрываются — то есть попадает ли в задержку трейса их сумма или только фактическое время.
- Если в трейсе есть данные модуля Цифровой Опыт (DEM), из блока «Контекст пользователя» сводки открывается сессия пользователя в «Анализе сессий».
Детали спана
При выборе спана на временной шкале отображаются его детали:
- Имя операции — название операции, которую выполняет спан
- Сервис — сервис, в котором выполнялась операция
- Длительность — время выполнения операции
- Теги — атрибуты спана (HTTP метод, URL, статус код и другие)
- Логи / События — записи событий, привязанные к спану
Флейм-граф трейса
Версия
Вкладка Флейм-граф доступна начиная с версии 202.В детальном просмотре трейса рядом с водопадом доступна вкладка Флейм-граф. Ширина блока пропорциональна длительности операции, вложенность повторяет структуру вызовов, цвет — сервису (спаны одного сервиса дополнительно различаются по виду).
Дерево спанов при сотнях операций приходится прокручивать; флейм-граф укладывает весь трейс на один экран и сразу показывает, где сосредоточено время и какая ветка вызовов его формирует.
Работа с флейм-графом:
- Дрилл-даун — клик по блоку масштабирует граф на выбранное поддерево. Путь отображается «хлебными крошками» — от пункта Весь трейс до текущего спана; вернуться можно кликом по любому уровню или кнопкой Сбросить зум.
- Детали спана —
Ctrl + клик(⌘ + кликв macOS) по блоку открывает карточку спана. - Поиск спанов — фильтр по имени операции со счётчиком совпадений.
- Критический путь — подсвечивает цепочку спанов, определяющую общую длительность трейса.
- Сжать паузы — схлопывает длинные простои (ожидание в очереди, асинхронные вызовы), чтобы реальная работа занимала большую часть ширины. Кнопка появляется только там, где такие паузы есть.
- Линейка времени закреплена сверху: даже на глубоком уровне вложенности видно, в какой момент трейса происходит операция.
- Спаны с ошибкой обведены красной рамкой, цвет сервиса при этом сохраняется.
На очень крупных трейсах часть спанов может не отрисовываться — над графом выводится пометка с числом непоказанных спанов.
Вкладка GenAI: разбор LLM-приложений
Версия
Вкладка GenAI доступна начиная с версии 203.Если трейс принадлежит приложению, работающему с языковой моделью, в детальном просмотре появляется вкладка GenAI. Она показывает запрос не списком спанов, а как работу агента: что попросил пользователь, что ответила модель, какие инструменты она вызвала и сколько времени занял каждый шаг.
Вкладка включается по разметке стандарта GenAI (gen_ai.*), по разметке
популярных фреймворков агентов, по наличию тел сообщений или каталога
инструментов. Приложения, инструментированные самостоятельно и не проставляющие
gen_ai.operation.name, тоже распознаются — отдельное средство для разбора
ИИ-контура не требуется.
Вид прогона
Переключатель «Вид прогона» задаёт представление:
| Вид | Что показывает |
|---|---|
| Лента | шаги прогона по порядку: обращения к модели, вызовы инструментов, рассуждения и ответ пользователю |
| Чат | только переписку — роли Пользователь, Ассистент, Инструмент |
| Граф шагов | последовательность шагов агента как граф |
| Граф вызовов | вызовы модели и инструментов как граф |
На графах красным выделен шаг, в котором произошла ошибка, пунктиром — возврат агента на уже пройденный шаг (цикл). Если прогонов в трейсе несколько, их количество указано в заголовке.
Содержимое шага
- Системный промпт и длинные тела сворачиваются до нескольких строк, полный текст открывается по кнопке «показать полностью»; любой блок копируется в буфер обмена.
- Для инструмента отдельно показаны «Входные данные инструмента» и «Ответ инструмента», для обращения к модели — «Тело запроса» и «Тело ответа». Ошибки вызова инструмента выделены.
- Переключатель «разметка» включает форматирование Markdown в ответах модели; выключенный — показывает текст как есть.
- «Доступные инструменты» перечисляют каталог, объявленный агентом, с пометкой, сколько из них было вызвано. Там же видны модель, фреймворк агента, транспорт и переданные токены — если инструментация о них сообщает.
- Время прогона разложено на модель, инструменты и прочее. Доля «не покрыто» — это время внутри операций, не покрытое ни одним вложенным спаном: собственный код агента между вызовами, о котором инструментация ничего не сообщает.
Повтор контекста между шагами по умолчанию скрыт (переписка целиком уходит в каждый следующий запрос к модели) и разворачивается по ссылке «показать повтор контекста».
Логи трейса
Вкладка «Логи трейса» в детальном просмотре собирает записи журналов, относящиеся к этому трейсу.
Версия
Начиная с версии 203 записи ищутся не только по внутреннему идентификатору трейса, но и по идентификатору OpenTelemetry (otel.trace_id), а служебные логи самой платформы (сервисы с префиксом proto-) в выдачу не попадают.Первое означает, что логи находятся и для приложений, инструментированных средствами OpenTelemetry, — раньше такие записи вкладка не показывала. Второе убирает из выдачи собственные сообщения платформы, которые к разбираемому запросу отношения не имеют.
Выгрузка трейса в открытых форматах
Версия
Выгрузка в OTLP/JSON, Zipkin v2 JSON и Jaeger JSON доступна начиная с версии 202.В просмотре трейса доступно меню Экспорт трейса. Выбранный трейс сохраняется в файл в одном из форматов:
| Формат | Файл | Назначение |
|---|---|---|
| Внутренний JSON | trace-<id>.json | Внутреннее представление платформы; собирается в браузере из уже загруженных спанов |
| OTLP/JSON | trace-<id>-otlp.json | Стандартное представление OpenTelemetry; принимается большинством современных средств анализа |
| Zipkin v2 JSON | trace-<id>-zipkin.json | Формат Zipkin версии 2 |
| Jaeger JSON | trace-<id>-jaeger.json | Формат, который открывает интерфейс Jaeger |
Трейс можно приложить к обращению в поддержку, передать команде разработки или открыть в стороннем средстве анализа — данные остаются переносимыми и не привязаны к платформе.
Выгрузка учитывает права доступа к трейсу: при их отсутствии выводится сообщение «Недостаточно прав для экспорта трейса». Если трейс уже вышел за пределы срока хранения, выгрузка сообщит, что трейс не найден.
Сравнение двух трейсов
Версия
Сравнение трейсов доступно начиная с версии 204.Экран «Сравнение трейсов» отвечает на вопрос «запрос был быстрым, а стал медленным — что именно изменилось». Он ставит рядом два трейса, A (было) и B (стало), и показывает, где между ними выросло время, какие операции появились или пропали и где стало больше ошибок.
Как открыть
- В просмотре трейса нажмите «Сравнить» на панели рядом с меню экспорта. Идентификатор открытого трейса подставится в поле «Трейс A», курсор встанет в поле «Трейс B» — вставьте идентификатор второго трейса и нажмите «Сравнить».
- Либо откройте адрес
/trace-compare?a=<ID трейса A>&b=<ID трейса B>. Ссылку на сравнение можно переслать коллеге: после сравнения оба идентификатора сохраняются в адресе.
Трейсы ищутся по идентификатору за весь срок хранения, независимо от периода, выбранного в фильтре времени, — поэтому можно сравнивать запросы разных дней. Кнопка «Поменять местами» меняет A и B без повторной загрузки.
Что показывает экран
- Карточки трейсов — корневая операция и время начала каждого трейса и ссылка «Открыть» в обозреватель.
- Сводка — длительность, число спанов, сервисов и ошибок: значение A, значение B и разница. Рост длительности и ошибок подсвечивается как ухудшение, снижение — как улучшение. Изменение числа спанов и сервисов показывается нейтральным цветом: больше вызовов бывает и регрессией, и исправлением.
- Таблица операций — по одной строке на пару «сервис + операция»:
| Колонка | Значение |
|---|---|
| Сервис, Операция | Пара, по которой сравниваются трейсы. Метки «Только в A» и «Только в B» отмечают операции, которые есть лишь в одном из трейсов |
| Вызовы A / B | Сколько раз операция встретилась в трейсе |
| Собств. время A / B | Суммарное собственное время операции в трейсе |
| Δ собств. времени | Разница B − A и изменение в процентах |
| Ошибки A / B | Число спанов операции с ошибкой |
Собственное время спана — его длительность за вычетом прямых дочерних спанов, как на вкладке «Статистика». Именно оно показывает, где время действительно потрачено: полное время корневой операции всегда равно длительности трейса и ничего не локализует. По умолчанию таблица отсортирована по величине изменения собственного времени — сверху операции, сдвинувшиеся сильнее всего в любую сторону. Любую колонку можно отсортировать, а строку поиска над таблицей — использовать для отбора по сервису или операции.
Права доступа проверяются для каждого трейса отдельно: если к сервисам одного из трейсов нет доступа или трейс вышел за срок хранения, сообщение появится в карточке именно этого трейса.
Типичные сценарии использования
Анализ медленных запросов
- Откройте Traces Explorer
- Установите фильтр по длительности, превышающей ожидаемое время
- Выберите трейс из результатов
- На временной шкале определите, какой спан (сервис/операция) занимает наибольшее время
Поиск ошибок в цепочке вызовов
- Установите фильтр по статусу «ошибка»
- Откройте трейс с ошибкой
- На диаграмме водопада найдите спан с ошибкой (обычно выделен цветом)
- Просмотрите теги и логи спана для определения причины
Анализ зависимостей сервисов
- Выберите интересующий сервис
- Просмотрите трейсы, проходящие через этот сервис
- На временной шкале определите, какие сервисы вызываются и в каком порядке
Разбор регрессии после релиза
- Найдите медленный трейс операции после релиза и откройте его
- Нажмите «Сравнить» и вставьте в поле B идентификатор быстрого трейса той же операции до релиза
- Нажмите «Поменять местами», чтобы A был «до», а B — «после»
- Первые строки таблицы покажут операции, у которых сильнее всего выросло собственное время, и новые вызовы с меткой «Только в B»
Связь с инструментированием
Данные трейсов поступают в платформу из инструментированных приложений через агент платформы. Для того чтобы трейсы были доступны в Traces Explorer, приложения должны быть настроены на отправку данных распределенного трейсинга.
Подробнее о настройке инструментирования приложений см. разделы: