happytails.ai
Español

Estimador de coste de consultas GraphQL

Estima el coste de una operación GraphQL antes de que llegue al servidor. Detecta selecciones muy anidadas y multiplicadas por listas, con todas las hipótesis de tamaño de lista documentadas.

Admite una operación de hasta 200.000 caracteres, un esquema de hasta 1.000.000 y variables de hasta 200.000. Cuenta un máximo de 10.000 campos y 64 niveles de anidación, con tamaños de lista de 1 a 10.000 y costes de campo de 0 a 1.000. La estimación se ejecuta en tu navegador mediante un trabajador en segundo plano. Descargas: un informe JSON y un desglose CSV. Una operación, o varias con el nombre de la operación indicado. Los fragmentos se expanden. Hasta 200,000 caracteres. Revisa los ajustes antes de ejecutar.

Tu resultado

Informa de un problema o comparte una idea.

Estimador de coste de consultas GraphQL
  1. Pega la operación GraphQL en el campo principal.
  2. Pega el esquema en SDL o JSON de introspección.
  3. Ajusta el tamaño de lista predeterminado, los argumentos de limitación y los costes de los campos si tu servidor utiliza otros valores.
  4. Ejecuta la estimación, revisa los puntos de mayor coste y descarga el desglose JSON o CSV.

Qué puedes esperar

Admite una operación de hasta 200.000 caracteres, un esquema de hasta 1.000.000 y variables de hasta 200.000. Cuenta un máximo de 10.000 campos y 64 niveles de anidación, con tamaños de lista de 1 a 10.000 y costes de campo de 0 a 1.000. La estimación se ejecuta en tu navegador mediante un trabajador en segundo plano. Descargas: un informe JSON y un desglose CSV.

Modelo de coste

Cada campo seleccionado tiene el coste de objeto o escalar de su tipo de retorno, multiplicado por los tamaños de las listas superiores. El total suma las selecciones de campos expandidas; las selecciones repetidas pueden sobreestimar la ejecución combinada del servidor. __typename no tiene coste. Este modelo de planificación no ejecuta un servidor, directivas condicionales ni contenidos de listas anidadas, y no es un límite impuesto por el servidor.

Tamaños de lista

El tamaño de un campo de lista se obtiene del mayor argumento de limitación, como first, last o limit. Si se omite un valor, se usan los valores predeterminados de las variables de la operación y los argumentos del esquema. Sin valor de limitación, se utiliza @listSize(assumedSize:) si está activado y aporta un valor. En caso contrario, se usa el tamaño de lista predeterminado del modelo. @cost(weight:) sustituye el coste de un campo. Todos los tamaños derivados deben ser enteros de 1 a 10.000 y los pesos de 0 a 1.000. Las operaciones, variables o límites no válidos y los fragmentos cíclicos detienen la estimación con un error tipado.

Lectura del informe

El informe incluye las hipótesis, los diez subárboles más costosos y el árbol completo con profundidad, multiplicador, tamaño de lista, coste propio y coste del subárbol. El CSV tiene una fila por ruta de campo. Los fragmentos se expanden donde se utilizan; un fragmento cíclico es un error de validación de la consulta, no una hipótesis de coste finito.

Siguientes pasos