Skip to main content

выполнение запроса-server2

[Сантехника] Поддержка выполнения запросов из удостоверений.

Кто может использовать эту функцию?

CodeQL доступен для следующих типов репозитория:

Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с --help параметром в терминале.

Краткие сведения

Shell
codeql execute query-server2 [--threads=<num>] <options>...

Description

[Сантехника] Поддержка выполнения запросов из удостоверений.

Эта команда относится только к авторам расширений языка QL для idEs. Он запускается подключаемым модулем интегрированной среды разработки в фоновом режиме и взаимодействует с ним через специальный протокол для стандартных входных и выходных потоков.

Доступно с момента v2.10.11.

Параметры

Основные параметры

--[no-]tuple-counting

[Дополнительно] Отображение счетчиков кортежей для каждого шага оценки в журналах оценщика запросов. Если этот --evaluator-log параметр указан, количество кортежей будет включено как в текстовые, так и структурированные журналы JSON, созданные командой. (Это может быть полезно для оптимизации производительности сложного кода QL.

--timeout=<seconds>

[Дополнительно] Задайте длину времени ожидания для оценки запросов в секундах.

Функция времени ожидания предназначена для перехвата случаев, когда сложный запрос будет принимать "навсегда" для оценки. Это не эффективный способ ограничить общее время, которое может занять оценка запроса. Оценка будет продолжаться до тех пор, пока каждая отдельная часть вычисления завершается в течение времени ожидания. В настоящее время эти отдельные части времени являются "слоями RA" оптимизированного запроса, но это может измениться в будущем.

Если время ожидания не задано или указано как 0, время ожидания не будет задано (за исключением тестового запуска codeql, где время ожидания по умолчанию составляет 5 минут).

-j, --threads=<num>

Используйте это множество потоков для оценки запросов.

По умолчанию равен 1. Вы можете передать 0 для использования одного потока на ядро на компьютере или -N, чтобы оставить неиспользуемые ядра N (за исключением того, что по-прежнему используется хотя бы один поток).

--[no-]save-cache

[Дополнительно] Агрессивно записывать промежуточные результаты в кэш диска. Это занимает больше времени и использует (гораздо больше места на диске), но может ускорить последующее выполнение аналогичных запросов.

--[no-]expect-discarded-cache

[Дополнительно] Принятие решений о том, какие предикаты следует оценивать, а также о том, что нужно записать в кэш диска, исходя из предположения о том, что кэш будет отключен карта после выполнения запросов.

--[no-]keep-full-cache

[Дополнительно] Не очищайте кэш диска после завершения оценки. Это может сэкономить время, если вы собираетесь выполнить очистку набора данных codeql или очистку базы данных codeql после этого.

--max-disk-cache=<MB>

Задайте максимальное количество места, которое может использовать кэш диска для промежуточных результатов запроса.

Если этот размер не настроен явным образом, вычислитель попытается использовать "разумное" пространство кэша на основе размера набора данных и сложности запросов. Явно устанавливая более высокий предел, чем это использование по умолчанию, позволит включить дополнительные кэширования, которые могут ускорить последующие запросы.

--min-disk-free=<MB>

[Дополнительно] Задайте целевой объем свободного места в файловой системе.

Если --max-disk-cache это не задано, средство оценки попытается ограничить использование кэша дисков, если свободное место в файловой системе снижается ниже этого значения.

--min-disk-free-pct=<pct>

[Дополнительно] Задайте целевую долю свободного места в файловой системе.

Если --max-disk-cache это не задано, средство оценки попытается ограничить использование кэша дисков, если свободное место в файловой системе снижается ниже этого процента.

--external=<pred>=<file.csv>

CSV-файл, содержащий строки для внешнего предиката <pred>. Можно указать несколько --external вариантов.

--xterm-progress=<mode>

[Дополнительно] Определяет, следует ли отображать отслеживание хода выполнения во время оценки QL с помощью последовательностей элементов управления xterm. Возможны следующие значения:

no: никогда не производить фантазийный прогресс; предположим, что глупый терминал.

auto(по умолчанию): автоматическое определение того, выполняется ли команда в соответствующем терминале.

yes: предположим, что терминал может понять последовательности элементов управления xterm. Функция по-прежнему зависит от возможности автоматического набора размера терминала, а также отключается, если -q задано.

25x80 (или аналогично): Например yes, а также явно укажите размер терминала.

25x80:/dev/pts/17 (или аналогичный): показать фантазию прогресса в терминале, отличном от stderr. В основном полезно для внутреннего тестирования.

--search-path=<dir>[:<dir>...]

Это работает так же , как и при компиляции запроса codeql (q.v.).

Отсутствуют --additional-packs или --library-path параметры, так как соответствующие значения предоставляются для каждого запроса.

(Примечание. В Windows разделитель путей имеет значение ;).

Параметры управления выходными данными структурированных журналов оценщика

--evaluator-log=<file>

[Дополнительно] Выходные структурированные журналы о производительности вычислителя в данный файл. Формат этого файла журнала подлежит изменению без уведомления, но будет потоком объектов JSON, разделенных двумя новыми символами (по умолчанию) или одним, если --evaluator-log-minify параметр передается. Используйте codeql generate log-summary <file> для создания более стабильной сводки по этому файлу и избегайте анализа файла напрямую. Файл будет перезаписан, если он уже существует.

--evaluator-log-minify

[Дополнительно] Если --evaluator-log параметр передается, то этот параметр также свести к минимуму размер создаваемого журнала JSON за счет того, чтобы сделать его гораздо менее удобочитаемым.

Распространенные параметры

-h, --help

Отображение этого текста справки.

-J=<opt>

[Дополнительно] Укажите параметр JVM, выполняя команду.

(Убедитесь, что параметры, содержащие пробелы, не будут обрабатываться правильно.)

-v, --verbose

Постепенно увеличьте число отображаемых сообщений о ходе выполнения.

-q, --quiet

Постепенно уменьшайте количество отображаемых сообщений о ходе выполнения.

--verbosity=<level>

[Дополнительно] Явным образом задайте уровень детализации на одну из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v и -q.

--logdir=<dir>

[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющегося подкоманда.

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого предоставьте --log-to-stderr и перенаправите stderr по мере необходимости.)

--common-caches=<dir>

[Дополнительно] Управляет расположением кэшированных данных на диске, которые будут сохраняться между несколькими запусками интерфейса командной строки, такими как скачанные пакеты QL и скомпилированные планы запросов. Если этот параметр не задан явным образом, по умолчанию используется каталог с именем .codeql в домашнем каталоге пользователя; он будет создан, если он еще не существует.

Доступно с момента v2.15.2.