Distributed Trace Decoder & Waterfall Visualizer

Decode Jaeger, Zipkin, or OpenTelemetry trace JSON and render span timing, dependencies, and error hotspots as an interactive waterfall report

Paste trace JSON from Jaeger, Zipkin, or OpenTelemetry export files to inspect span depth, service timing, error spans, and execution order in a browser-friendly waterfall layout.

Example Results

1 examples

Render a checkout trace waterfall

Decode a Jaeger checkout trace and highlight slow payment spans plus error nodes in one waterfall view

Trace waterfall renders span timing cards, service summaries, and error highlighting.
View input parameters
{ "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 }

Key Facts

Category
Developer & Web
Input Types
textarea, select, checkbox
Output Type
html
Sample Coverage
4
API Ready
Yes

Overview

The Distributed Trace Decoder & Waterfall Visualizer transforms raw trace JSON from Jaeger, Zipkin, or OpenTelemetry into an interactive, browser-friendly waterfall report. Paste your trace export to instantly inspect span depth, service timing, execution order, and error hotspots without needing to spin up a dedicated tracing backend.

When to Use

  • When debugging high latency or performance bottlenecks across distributed microservices.
  • When analyzing raw trace JSON exports locally without access to the original Jaeger or Zipkin UI.
  • When isolating error spans and failed requests within complex distributed transactions.

How It Works

  • Paste your raw trace JSON export into the input field.
  • Select the trace format (Jaeger, Zipkin, or OpenTelemetry) or leave it on auto-detect.
  • Choose your preferred time display unit (microseconds, milliseconds, or seconds) and optionally filter to show only error spans.
  • The tool parses the JSON and renders an interactive waterfall chart displaying span timing, parent-child dependencies, and service summaries.

Use Cases

SREs investigating a sudden spike in API latency by visualizing a Zipkin trace export to find the slowest database query span.
Backend developers debugging a failed microservice checkout flow by filtering a Jaeger JSON export to show only error spans.
DevOps engineers verifying OpenTelemetry instrumentation by inspecting the parent-child span hierarchy and timing units locally.

Examples

1. Debugging Checkout Latency

Backend Developer
Background
A microservices architecture is experiencing intermittent timeouts during the checkout process. The developer has downloaded a raw Jaeger trace JSON file for a slow request.
Problem
Identifying which specific downstream service is causing the delay without deploying a local Jaeger instance.
How to Use
Paste the Jaeger JSON into the Trace JSON field, set the format to 'Jaeger JSON', and select 'Milliseconds' as the display unit.
Example Config
Trace Format: Jaeger JSON, Display Unit: ms, Show Only Error Spans: false
Outcome
The tool renders a waterfall chart revealing that the payment-service span took 180ms, pinpointing it as the bottleneck.

2. Isolating Microservice Errors

Site Reliability Engineer
Background
An alert triggered for a high error rate in the API gateway. The SRE exported an OpenTelemetry trace containing hundreds of spans.
Problem
Sifting through a massive JSON file to find the exact span and service where the failure originated.
How to Use
Paste the OpenTelemetry JSON, select 'Auto Detect' for the format, and check the 'Show Only Error Spans' box.
Example Config
Trace Format: Auto Detect, Show Only Error Spans: true
Outcome
The waterfall filters out all successful operations, immediately highlighting the failed charge-card span in red.

Try with Samples

json

Related Hubs

FAQ

Which trace formats are supported?

The tool supports raw JSON exports from Jaeger, Zipkin, and OpenTelemetry (OTel). You can select the specific format or use the auto-detect feature.

Can I filter the waterfall to only show errors?

Yes, you can check the 'Show Only Error Spans' option to hide successful operations and focus entirely on failed spans and error hotspots.

Does this tool send my trace data to a server?

No, all JSON parsing and waterfall rendering happens locally in your browser. Your trace data remains private and secure.

How do I change the time units on the waterfall?

Use the 'Display Unit' dropdown to toggle the span duration metrics between microseconds (us), milliseconds (ms), and seconds (s).

What information is displayed in the waterfall?

The waterfall visualizes execution order, parent-child span dependencies, service names, operation names, total duration, and highlights any spans tagged with errors.

API Documentation

Request Endpoint

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

Request Parameters

Parameter Name Type Required Description
traceJson textarea No -
traceFormat select No -
displayUnit select No -
onlyErrors checkbox No -

Response Format

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

AI MCP Documentation

Add this tool to your MCP server configuration:

{
  "mcpServers": {
    "elysiatools-distributed-trace-decoder-waterfall-visualizer": {
      "name": "distributed-trace-decoder-waterfall-visualizer",
      "description": "Decode Jaeger, Zipkin, or OpenTelemetry trace JSON and render span timing, dependencies, and error hotspots as an interactive waterfall report",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=distributed-trace-decoder-waterfall-visualizer",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

You can chain multiple tools, e.g.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, max 20 tools.

If you encounter any issues, please contact us at [email protected]