happytails.ai
Italiano

Stimatore del costo delle query GraphQL

Stima il costo di un'operazione GraphQL prima che raggiunga il tuo server. Individua le selezioni molto annidate e moltiplicate dalle liste, con ogni ipotesi sulla dimensione delle liste documentata.

Accetta un'operazione fino a 200.000 caratteri, uno schema fino a 1.000.000 di caratteri e variabili fino a 200.000 caratteri. Conta al massimo 10.000 campi e 64 livelli di annidamento, con dimensioni delle liste da 1 a 10.000 e costi dei campi da 0 a 1.000. La stima viene eseguita nel browser tramite un’elaborazione separata in secondo piano. I download sono un report JSON e un dettaglio CSV. Una singola operazione oppure più operazioni con il nome dell'operazione impostato. I frammenti vengono espansi. Fino a 200.000 caratteri. Controlla le impostazioni prima di eseguire.

Il tuo risultato

Segnala un problema o condividi un’idea.

Stimatore del costo delle query GraphQL
  1. Incolla l'operazione GraphQL nel campo principale.
  2. Incolla lo schema come SDL o JSON di introspezione.
  3. Regola la dimensione predefinita delle liste, gli argomenti di limitazione e i costi dei campi se il tuo server usa valori diversi.
  4. Esegui la stima ed esamina i punti di maggior costo, poi scarica il dettaglio JSON o CSV.

Cosa aspettarsi

Accetta un'operazione fino a 200.000 caratteri, uno schema fino a 1.000.000 di caratteri e variabili fino a 200.000 caratteri. Conta al massimo 10.000 campi e 64 livelli di annidamento, con dimensioni delle liste da 1 a 10.000 e costi dei campi da 0 a 1.000. La stima viene eseguita nel browser tramite un’elaborazione separata in secondo piano. I download sono un report JSON e un dettaglio CSV.

Il modello di costo

Ogni campo selezionato riceve il costo per oggetto o scalare del proprio tipo di ritorno, moltiplicato per le dimensioni delle liste superiori. Il totale è la somma delle selezioni di campi espanse; selezioni ripetute possono quindi sovrastimare l'esecuzione unita del server. __typename è gratuito. Questo modello di pianificazione non esegue un server, direttive condizionali o contenuti di liste annidate e non è un limite imposto dal server.

Dimensioni delle liste

La dimensione di un campo lista deriva dall'argomento di limitazione più grande, come first, last o limit. Quando un valore è omesso, vengono usati i valori predefiniti delle variabili dell'operazione e degli argomenti dello schema. Senza un valore di limitazione, viene usato @listSize(assumedSize:) se abilitato, poi la dimensione predefinita delle liste del modello. @cost(weight:) sostituisce il costo di un campo. Tutte le dimensioni derivate devono essere interi da 1 a 10.000 e i pesi da 0 a 1.000. Operazioni, variabili o limiti non validi e frammenti ciclici interrompono la stima con un errore tipizzato.

Come leggere il report

Il report elenca le ipotesi, i dieci sottoalberi più costosi e l'albero completo con profondità, moltiplicatore, dimensione della lista, costo proprio e costo del sottoalbero. Il CSV ha una riga per percorso di campo. I richiami ai frammenti vengono espansi dove sono usati; un frammento ciclico è un errore di validazione della query, non un'ipotesi di costo finito.

Passaggi successivi utili