Taskgraph Like a Pro
Have you ever needed to inspect the taskgraph locally? Did you have a bad time? Learn how to inspect the taskgraph like a PRO. For the impatient skip to the installation instructions below.
Installation
First you’ll need to install fzf, if you’ve used mach try fuzzy
before, it’s already
on your system under ~/.mozbuild/fzf
, just make sure it’s on your $PATH
.
Next install fx
:
$ npm install fx
Finally, add the following shell function to your ~/.bashrc
or equivalent:
tf () {
fx "tg => String(require(\"child_process\").spawnSync(\"fzf\", [\"-f\", \"$1\"], {\"input\": Object.keys(tg).join(\"\n\")}).output).split(\"\n\").reduce((obj, key) => { obj[key] = tg[key]; return obj; }, {})" | fx
}
That’s it!
Usage
Simply pipe the output of mach taskgraph full -J
into the tf
function (preferably saving it to a
file first:
$ ./mach taskgraph full -J > full.taskgraph
$ cat full.taskgraph | tf "win64 mochitest | reftest -1$"
The above will filter down all chunk 1 mochitest and reftest tasks on win64. The query syntax is
identical to the one used with mach try fuzzy
. See man fzf
for more details.
Happy inspecting!