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
Estimador de custo de consultas GraphQL
- Cole a operação GraphQL no campo principal.
- Cole o esquema em SDL ou JSON de introspeção.
- Ajuste o tamanho de lista predefinido, os argumentos de limitação e os custos dos campos se o seu servidor utilizar outros valores.
- 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.