Оценщик стоимости запросов GraphQL
Оцените стоимость операции GraphQL до её отправки на сервер. Найдите глубоко вложенные и умноженные выборки списков; все предположения о размерах списков будут указаны.
Принимает операцию размером до 200 000 символов, схему до 1 000 000 символов и переменные до 200 000 символов. Учитывается не более 10 000 полей и 64 уровней вложенности, размеры списков от 1 до 10 000 и стоимость полей от 0 до 1 000. Оценка выполняется в фоновом процессе браузера. Можно скачать отчёт JSON и разбор CSV. Одна операция или несколько с указанным именем операции. Фрагменты раскрываются. До 200 000 символов. Проверьте настройки перед запуском.
Ваш результат
Оценщик стоимости запросов GraphQL
- Вставьте операцию GraphQL в основное поле.
- Вставьте схему в формате SDL или JSON интроспекции.
- Измените размер списка по умолчанию, аргументы среза и стоимость полей, если на сервере используются другие значения.
- Запустите оценку, просмотрите самые затратные участки, затем скачайте разбор JSON или CSV.
Что нужно знать
Принимает операцию размером до 200 000 символов, схему до 1 000 000 символов и переменные до 200 000 символов. Учитывается не более 10 000 полей и 64 уровней вложенности, размеры списков от 1 до 10 000 и стоимость полей от 0 до 1 000. Оценка выполняется в фоновом процессе браузера. Можно скачать отчёт JSON и разбор CSV.
Модель стоимости
Для каждого выбранного поля учитывается стоимость объекта или скалярного значения его возвращаемого типа, умноженная на размеры списков выше по дереву. Итог — сумма по раскрытым выбранным полям; поэтому повторные выборки могут завышать стоимость объединённого выполнения на сервере. __typename не учитывается. Эта модель планирования не запускает сервер, не выполняет условные директивы или вложенное содержимое списков и не задаёт серверное ограничение.
Размеры списков
Размер поля-списка определяется наибольшим аргументом среза, например first, last или limit. Если значение не задано, используются значения по умолчанию переменных операции и аргументов схемы. Если значение среза отсутствует, используется @listSize(assumedSize:), если этот параметр включён, а затем размер списка по умолчанию в модели. @cost(weight:) заменяет стоимость поля. Все вычисленные размеры должны быть целыми числами от 1 до 10 000, а веса — от 0 до 1 000. Недопустимые операции, переменные, границы и циклические фрагменты останавливают оценку с типизированной ошибкой.
Чтение отчёта
В отчёте перечислены предположения, десять самых затратных поддеревьев и полное дерево с глубиной, множителем, размером списка, собственной стоимостью и стоимостью поддерева. В CSV одна строка на путь поля. Фрагменты раскрываются в местах использования; циклический фрагмент является ошибкой проверки запроса, а не конечным предположением о стоимости.