Декодер распределенных трассировок и waterfall

Разбирает JSON Jaeger, Zipkin или OpenTelemetry и показывает spans, время и ошибки в waterfall-отчете

Подходит backend, SRE и DevOps для анализа задержек, зависимостей и ошибок в trace-цепочке.

Примеры результатов

1 Примеры

Построить водопад для checkout trace

Декодирует Jaeger trace и подсвечивает медленные и ошибочные spans

Trace waterfall renders span timing cards, service summaries, and error highlighting.
Показать параметры ввода
{ "traceJson": "{\n \"data\": [\n {\n \"processes\": {\n \"p1\": {\n \"serviceName\": \"api-gateway\"\n },\n \"p2\": {\n \"serviceName\": \"payment-service\"\n }\n },\n \"spans\": [\n {\n \"traceID\": \"trace-1\",\n \"spanID\": \"1\",\n \"processID\": \"p1\",\n \"operationName\": \"POST /checkout\",\n \"startTime\": 1000000,\n \"duration\": 320000,\n \"references\": [],\n \"tags\": []\n },\n {\n \"traceID\": \"trace-1\",\n \"spanID\": \"2\",\n \"processID\": \"p2\",\n \"operationName\": \"charge-card\",\n \"startTime\": 1080000,\n \"duration\": 180000,\n \"references\": [\n {\n \"refType\": \"CHILD_OF\",\n \"spanID\": \"1\"\n }\n ],\n \"tags\": [\n {\n \"key\": \"error\",\n \"value\": true\n }\n ]\n }\n ]\n }\n ]\n}", "traceFormat": "jaeger", "displayUnit": "ms", "onlyErrors": false }

Ключевые факты

Категория
Разработка и Web
Типы входных данных
textarea, select, checkbox
Тип результата
html
Покрытие примерами
4
API доступен
Yes

Обзор

Этот инструмент позволяет разработчикам, SRE-инженерам и DevOps-специалистам быстро анализировать распределенные трассировки. Вставьте JSON-данные из Jaeger, Zipkin или OpenTelemetry, чтобы сгенерировать наглядный waterfall-график (водопад), который поможет выявить узкие места в производительности, задержки между микросервисами и ошибки в цепочке вызовов.

Когда использовать

  • При поиске причин высокой задержки (latency) в микросервисной архитектуре.
  • Для визуализации сложных цепочек вызовов и зависимостей между сервисами.
  • При отладке конкретных запросов, завершившихся с ошибкой, в распределенной системе.

Как это работает

  • Вставьте сырой JSON-код трассировки в основное поле ввода.
  • Выберите формат данных (Jaeger, Zipkin, OpenTelemetry) или оставьте автоопределение.
  • Укажите удобные единицы измерения времени (микросекунды, миллисекунды или секунды) и при необходимости отфильтруйте только ошибочные спаны (spans).
  • Инструмент декодирует данные и построит интерактивную диаграмму водопада, отображающую иерархию и длительность каждого этапа.

Сценарии использования

Анализ медленного API-запроса для выявления микросервиса, создающего задержку.
Аудит архитектуры для понимания реальной вложенности и последовательности вызовов баз данных.
Быстрый поиск сбойного узла в цепочке обработки платежа по логам OpenTelemetry.

Примеры

1. Анализ задержки при оформлении заказа

Backend-разработчик
Контекст
Пользователи жалуются на долгое оформление заказа (checkout). В логах найден trace ID проблемного запроса.
Проблема
Нужно понять, какой именно сервис (API Gateway, Payment Service или Inventory) тормозит процесс.
Как использовать
Вставить JSON-выгрузку трассировки из Jaeger, выбрать формат jaeger и единицы измерения ms.
Пример конфигурации
Формат trace: Jaeger JSON, Единица времени: ms
Результат
Инструмент строит waterfall-график, на котором четко видно, что 80% времени запроса уходит на ожидание ответа от сервиса оплаты (payment-service).

2. Поиск скрытых ошибок в микросервисах

SRE-инженер
Контекст
В системе мониторинга зафиксирован всплеск 500-х ошибок, но корневой сервис не очевиден из-за сложной цепочки вызовов.
Проблема
Быстро отфильтровать огромный trace и найти конкретный span, в котором произошел сбой.
Как использовать
Загрузить JSON от OpenTelemetry и поставить галочку «Показывать только spans с ошибкой».
Пример конфигурации
Формат trace: OpenTelemetry JSON, Показывать только spans с ошибкой: true
Результат
График скрывает сотни успешных промежуточных вызовов и подсвечивает единственный span базы данных, который вернул таймаут.

Проверить на примерах

json

Связанные хабы

FAQ

Какие форматы трассировок поддерживаются?

Инструмент поддерживает JSON-выгрузки из Jaeger, Zipkin и OpenTelemetry. Также доступна функция автоопределения формата.

Можно ли отфильтровать успешные запросы и оставить только ошибки?

Да, включите опцию «Показывать только spans с ошибкой», чтобы скрыть успешные операции и сфокусироваться на сбоях.

В каких единицах отображается время на графике?

Вы можете выбрать микросекунды (us), миллисекунды (ms) или секунды (s) в настройках инструмента.

Данные отправляются на сервер для обработки?

Нет, вся обработка и визуализация JSON-трассировки происходит локально в вашем браузере.

Что такое span в контексте этого инструмента?

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

Документация API

Конечная точка запроса

POST /ru/api/tools/distributed-trace-decoder-waterfall-visualizer

Параметры запроса

Имя параметра Тип Обязательно Описание
traceJson textarea Нет -
traceFormat select Нет -
displayUnit select Нет -
onlyErrors checkbox Нет -

Формат ответа

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-distributed-trace-decoder-waterfall-visualizer": {
      "name": "distributed-trace-decoder-waterfall-visualizer",
      "description": "Разбирает JSON Jaeger, Zipkin или OpenTelemetry и показывает spans, время и ошибки в waterfall-отчете",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=distributed-trace-decoder-waterfall-visualizer",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]