happytails.ai
Português

Estimador de custo de consultas GraphQL

Estime o custo de uma operação GraphQL antes de chegar ao servidor. Identifique seleções muito aninhadas e multiplicadas por listas, com todas as hipóteses de tamanho de lista documentadas.

Aceita uma operação com até 200 000 caracteres, um esquema com até 1 000 000 e variáveis com até 200 000. Conta no máximo 10 000 campos e 64 níveis de aninhamento, com tamanhos de lista de 1 a 10 000 e custos de campo de 0 a 1 000. A estimativa é executada no seu navegador num processo de trabalho em segundo plano. Transferências: um relatório JSON e uma discriminação CSV. Uma operação ou várias com o nome da operação definido. Os fragmentos são expandidos. Até 200 000 caracteres. Reveja as definições antes de executar.

Seu resultado

Comunica um problema ou partilha uma ideia.

Estimador de custo de consultas GraphQL
  1. Cole a operação GraphQL no campo principal.
  2. Cole o esquema em SDL ou JSON de introspeção.
  3. Ajuste o tamanho de lista predefinido, os argumentos de limitação e os custos dos campos se o seu servidor utilizar outros valores.
  4. Execute a estimativa, reveja os pontos de maior custo e transfira a discriminação JSON ou CSV.

O que esperar

Aceita uma operação com até 200 000 caracteres, um esquema com até 1 000 000 e variáveis com até 200 000. Conta no máximo 10 000 campos e 64 níveis de aninhamento, com tamanhos de lista de 1 a 10 000 e custos de campo de 0 a 1 000. A estimativa é executada no seu navegador num processo de trabalho em segundo plano. Transferências: um relatório JSON e uma discriminação CSV.

Modelo de custo

Cada campo selecionado recebe o custo de objeto ou escalar do seu tipo de retorno, multiplicado pelos tamanhos das listas superiores. O total soma as seleções de campos expandidas; seleções repetidas podem sobrestimar a execução combinada do servidor. __typename não tem custo. Este modelo de planeamento não executa um servidor, diretivas condicionais ou conteúdos de listas aninhadas, nem é um limite imposto pelo servidor.

Tamanhos de lista

Um campo de lista obtém o tamanho do maior argumento de limitação, como first, last ou limit. Quando um valor é omitido, utilizam-se os valores predefinidos das variáveis da operação e dos argumentos do esquema. Sem valor de limitação, utiliza @listSize(assumedSize:) se estiver ativado e, depois, o tamanho de lista predefinido do modelo. @cost(weight:) substitui o custo de um campo. Todos os tamanhos derivados devem ser inteiros de 1 a 10 000 e os pesos de 0 a 1 000. Operações, variáveis ou limites inválidos e fragmentos cíclicos interrompem a estimativa com um erro tipificado.

Ler o relatório

O relatório lista as hipóteses, as dez subárvores mais dispendiosas e a árvore completa com profundidade, multiplicador, tamanho de lista, custo próprio e custo da subárvore. O CSV tem uma linha por caminho de campo. As referências a fragmentos expandem-se onde são utilizadas; um fragmento cíclico é um erro de validação da consulta, não uma hipótese de custo finito.

Próximos passos