Development
Analiza JSON de Jaeger, Zipkin u OpenTelemetry y muestra spans, tiempos y errores en un waterfall
Llama a esta herramienta desde tu código en tres lenguajes.
curl -X POST 'https://api.elysiatools.com/es/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}'Envía una petición POST con tus entradas en JSON. Los parámetros de tipo archivo requieren una subida previa.
POST https://api.elysiatools.com/es/api/tools/distributed-trace-decoder-waterfall-visualizer| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| traceJson | textarea | No | — |
| traceFormat | select | No | — |
| displayUnit | select | No | — |
| onlyErrors | checkbox | No | — |
Resultado HTML
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Añade esta herramienta a tu servidor Model Context Protocol para que los agentes de IA puedan listarla y llamarla.
Añade este bloque a la configuración de tu cliente MCP:
{
"mcpServers": {
"elysiatools-distributed-trace-decoder-waterfall-visualizer": {
"name": "distributed-trace-decoder-waterfall-visualizer",
"description": "Analiza JSON de Jaeger, Zipkin u OpenTelemetry y muestra spans, tiempos y errores en un waterfall",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=distributed-trace-decoder-waterfall-visualizer",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Tras conectar al endpoint SSE, lista las herramientas expuestas:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoca la herramienta por su id; los argumentos se construyen a partir de sus parámetros:
{
"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
}
}
}¿Dudas o problemas? Contacta con [email protected]