`npm install -g broccoli-viz`
npm install broccoli-viznpm install -g broccoli-viz
Generate a heimdall-compatible JSON from an ember build.
``sh
BROCCOLI_VIZ=1 ember buildproduces broccoli-viz.0.json
BROCCOLI_VIZ=1 ember serve
Produce a graphviz dot file from this JSON
`sh
broccoli-viz broccoli-viz.0.json > broccoli-viz.0.dot
`Produce a PDF of this graph using graphviz (requires graphviz to be installed)
`sh
dot -Tpdf broccoli-viz.0.dot > broccoli-viz.0.pdf
`You can then explore the PDF to see where time is being spent on your build.
$3
If you want to show stats other than, or in addition to, the time stats, you can
pass a
--stats option one or more times. These are simple glob patterns
matched against the full stats key.If no
--stats option is passed, the default is --stats=time.self --stats=time.totalExamples:
`sh
Show time stats and individual fs counts
broccoli-viz --stats='time.' --stats='fs..count' broccoli-viz.0.json > broccoli-viz.0.dotShow time stats and lstat, mkdir counts
broccoli-viz --stats='time.*' --stats='fs.lstatSync.count' --stats='fs.mkdirSync.count' broccoli-viz.0.json > broccoli-viz.0.dotShow all stats
broccoli-viz --stats='*' broccoli-viz.0.json > broccoli-viz.0.dot
`
$3
If you want to render only a subtree,
--root-id=:id where :id is the id of the
root of the subgraph we wish to renderIf no
--root-id option is passed, the full graph is renderedExamples:
`sh
only renders 255 and its descendents
broccoli-viz --root-id=255 broccoli-viz.0.json > broccoli-viz.0.dot
``