Development
Decode Jaeger, Zipkin, or OpenTelemetry trace JSON and render span timing, dependencies, and error hotspots as an interactive waterfall report
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/distributed-trace-decoder-waterfall-visualizer' \
-H 'Content-Type: application/json' \
-d '{"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}'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/distributed-trace-decoder-waterfall-visualizer| Name | Type | Required | Description |
|---|---|---|---|
| traceJson | textarea | No | — |
| traceFormat | select | No | — |
| displayUnit | select | No | — |
| onlyErrors | checkbox | No | — |
HTML result
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client 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://api.elysiatools.com/mcp/sse?toolId=distributed-trace-decoder-waterfall-visualizer",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "distributed-trace-decoder-waterfall-visualizer",
"arguments": {
"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
}
}
}Questions or issues? Contact [email protected]