happytails.ai
Français

Estimateur du coût des requêtes GraphQL

Estimez le coût d’une opération GraphQL avant son envoi à votre serveur. Repérez les sélections imbriquées et les listes multipliées, avec chaque hypothèse de taille de liste explicitée.

Accepte une opération de jusqu’à 200 000 caractères, un schéma de jusqu’à 1 000 000 caractères et des variables de jusqu’à 200 000 caractères. Compte au plus 10 000 champs et 64 niveaux d’imbrication; les tailles de liste vont de 1 à 10 000 et les coûts de champ de 0 à 1 000. L’estimation s’exécute dans votre navigateur, dans un processus de travail en arrière-plan. Les téléchargements comprennent un rapport JSON et une ventilation CSV. Une opération, ou plusieurs si le nom de l’opération est indiqué. Les fragments sont développés. Jusqu’à 200 000 caractères. Vérifiez les réglages avant de lancer le traitement.

Votre résultat

Signalez un problème ou partagez une idée.

Estimateur du coût des requêtes GraphQL
  1. Collez l’opération GraphQL dans le champ principal.
  2. Collez le schéma au format SDL ou JSON d’introspection.
  3. Ajustez la taille de liste par défaut, les arguments de découpage et les coûts des champs si votre serveur utilise d’autres valeurs.
  4. Lancez l’estimation et examinez les points sensibles, puis téléchargez la ventilation JSON ou CSV.

À savoir

Accepte une opération de jusqu’à 200 000 caractères, un schéma de jusqu’à 1 000 000 caractères et des variables de jusqu’à 200 000 caractères. Compte au plus 10 000 champs et 64 niveaux d’imbrication; les tailles de liste vont de 1 à 10 000 et les coûts de champ de 0 à 1 000. L’estimation s’exécute dans votre navigateur, dans un processus de travail en arrière-plan. Les téléchargements comprennent un rapport JSON et une ventilation CSV.

Modèle de coût

Chaque champ sélectionné reçoit le coût d’objet ou de scalaire correspondant à son type de retour, multiplié par les tailles des listes qui le précèdent. Le total est la somme des sélections de champs développées; les sélections répétées peuvent donc surestimer l’exécution fusionnée du serveur. __typename est gratuit. Ce modèle de planification n’exécute aucun serveur et ne tient pas compte des directives conditionnelles ni du contenu des listes imbriquées; il ne constitue pas une limite appliquée par un serveur.

Tailles des listes

La taille d’un champ de liste est déterminée par la plus grande valeur d’argument de découpage, par exemple first, last ou limit. Les valeurs par défaut des variables d’opération et des arguments du schéma sont utilisées lorsqu’une valeur est omise. Si aucune valeur de découpage n’est fournie, l’outil utilise @listSize(assumedSize:) lorsqu’elle est activée, puis la taille de liste par défaut du modèle. @cost(weight:) remplace le coût d’un champ. Toutes les tailles calculées doivent être des nombres entiers de 1 à 10 000, et les pondérations de 0 à 1 000. Les opérations ou variables non valides, les limites dépassées et les fragments cycliques interrompent l’estimation avec une erreur typée.

Lire le rapport

Le rapport répertorie les hypothèses, les dix sous-arbres les plus coûteux et l’arbre complet avec la profondeur, le multiplicateur, la taille de liste, le coût propre et le coût du sous-arbre. Le CSV contient une ligne par chemin de champ. Les fragments sont développés à chaque utilisation; un fragment cyclique entraîne une erreur de validation de la requête, plutôt qu’une hypothèse de coût fini.

Pour continuer