CodeQL documentation

dataset measure


codeql dataset measure --output=<file> [--threads=<num>] <options>... [--] <dataset>


[Plumbing] Collect statistics about the relations in a particular dataset.

This command is typically only used when developing a CodeQL extractor, after a change that affects the database schema and which therefore needs to have an accompanying change to the statistics used by the query optimizer.



[Mandatory] Path to the raw QL dataset to measure.

-o, --output=<file>

[Mandatory] The output file to which statistics should be written, typically with a ‘.dbscheme.stats’ extension.

-j, --threads=<num>

The number of concurrent threads to use.

Defaults to 1. You can pass 0 to use one thread per core on the machine, or -N to leave N cores unused (except still use at least one thread).

Common options

-h, --help

Show this help text.


[Advanced] Give option to the JVM running the command.

(Beware that options containing spaces will not be handled correctly.)

-v, --verbose

Incrementally increase the number of progress messages printed.

-q, --quiet

Incrementally decrease the number of progress messages printed.


[Advanced] Explicitly set the verbosity level to one of errors, warnings, progress, progress+, progress++, progress+++. Overrides -v and -q.


[Advanced] Write detailed logs to one or more files in the given directory, with generated names that include timestamps and the name of the running subcommand.

(To write a log file with a name you have full control over, instead give --log-to-stderr and redirect stderr as desired.)