Saltar al contenido
DeveloperTools

Visor de grafo de llamadas SQL

Privado

Explorador

Abre un archivo de grafo para buscar entre sus nodos.

Árbol de llamadas

Abre un grafo de llamadas

Suelta un archivo .json en cualquier parte de la herramienta, pégalo o súbelo. Se lee en esta pestaña y nunca se sube.

Formato esperado

{
  "nodos": [
    { "id": "base.sp_name", "tipo": "SP" },
    { "id": "base.table", "tipo": "Tabla" }
  ],
  "enlaces": [
    { "origen": "base.sp_name", "destino": "base.table" }
  ]
}

Sobre esta herramienta

Carga un archivo JSON con una lista "nodos" y una lista "enlaces" —cada SP, tabla o canal, y cada llamada de uno a otro—, busca un nodo y explóralo. La vista de árbol se lee como un explorador de archivos: cada fila se abre en lo que ese SP llama, en el orden en que el código hace las llamadas, o cambia la dirección para ver quién lo llama, hasta llegar a los canales. La vista de grafo dibuja el mismo entorno con cajas y flechas, los llamadores a la izquierda y los llamados a la derecha, con tantos niveles como elijas.

Los filtros reducen un sistema grande a lo que importa: solo SPs o solo tablas de ciertas bases, una lista de auxiliares que ocultar (un registrador de errores llamado desde miles de sitios no aporta nada) y "solo rutas que llegan a", que deja únicamente las ramas que acaban en una base o tabla concreta. Una llamada de vuelta a un procedimiento que ya está en la rama se muestra como ciclo y no se sigue, y el árbol se puede copiar o descargar como el mismo texto con caracteres de caja que imprimiría un script.

Pulsa la estrella de cualquier nodo para marcarlo en amarillo, en las dos vistas. "Exportar con marcas" escribe el grafo tal cual, salvo un "marcado": true en los nodos marcados, así que al abrir ese archivo más tarde vuelven las marcas, y los scripts que leen el formato original lo siguen leyendo.

Nada de lo que abres se transmite. La página es HTML estático y el archivo se lee, se indexa y se dibuja en tu pestaña, así que el grafo de un sistema en producción —decenas de miles de nodos— se puede cargar con tranquilidad.

Preguntas frecuentes

¿Se sube mi grafo a algún servidor?

No. El archivo se lee con la API de archivos del propio navegador y se analiza en tu pestaña; no existe ningún endpoint al que enviarlo. Tus marcas viven en la página hasta que las exportas, y si sales con marcas sin exportar se te pide confirmación.

¿Qué formato necesita el archivo?

Un objeto con "nodos" —entradas con un "id" como base.nombre_sp y un "tipo" como SP, Tabla o Canal— y "enlaces" —entradas con un "origen" y un "destino", que significan que el primero llama o lee al segundo—. También vale con claves en inglés: nodes y links (o edges), con source y target. Un enlace puede nombrar un nodo que no está en la lista; se añade con tipo desconocido y se muestra como [?].

¿Qué tamaño de grafo aguanta?

Un archivo de 22 MB con 29.000 nodos y 150.000 enlaces se carga en menos de un segundo en un portátil. El árbol dibuja los hijos a medida que los abres, de 200 en 200, y el grafo dibuja hasta 1.000 nodos alrededor del elegido, primero los niveles más cercanos, así que el tamaño del sistema completo nunca ralentiza lo que ves.

¿Qué hace "solo rutas que llegan a"?

Deja solo las ramas que acaban llegando a las bases o nodos que escribas y oculta las que nunca llegan. Con la dirección en "a quién llama" responde a "qué parte de este proceso toca la base de facturación"; con "quién lo llama", a "a través de qué llamadores se llega a este SP desde un canal concreto". En el árbol de texto, los SPs de otras bases se marcan con -X.

¿Cómo se guardan las marcas?

Como "marcado": true en cada nodo marcado del archivo exportado ("marked" si el archivo usaba claves en inglés). Todo lo demás —orden de las claves, campos extra, los enlaces— se escribe tal como se leyó. Al importar ese archivo vuelven las marcas; si quitas una marca y exportas de nuevo, el campo desaparece.

¿De verdad es gratis?

Sí, sin cuenta y sin límite de uso. El sitio se financia con anuncios colocados alrededor de la herramienta, nunca dentro de tu área de trabajo.

Flechas para moverte, Enter para abrir, Esc para cerrar