library to read/parse and produce various visualizations of broccoli.
Fetching latest commit…
Cannot retrieve the latest commit at this time.


npm install -g broccoli-viz


Generate a heimdall-compatible JSON from an ember build.

BROCCOLI_VIZ=1 ember build
# produces broccoli-viz.0.json

BROCCOLI_VIZ=1 ember serve
# produces broccoli-viz.{buildNumber}.json for each build

Produce a graphviz dot file from this JSON

broccoli-viz broccoli-viz.0.json >

Produce a PDF of this graph using graphviz (requires graphviz to be installed)

dot -Tpdf > broccoli-viz.0.pdf

You can then explore the PDF to see where time is being spent on your build.

Stats Filtering

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


# Show time stats and individual fs counts
broccoli-viz --stats='time.*' --stats='fs.*.count' broccoli-viz.0.json >

# Show time stats and lstat, mkdir counts
broccoli-viz --stats='time.*' --stats='fs.lstatSync.count' --stats='fs.mkdirSync.count' broccoli-viz.0.json >

# Show all stats
broccoli-viz --stats='*' broccoli-viz.0.json >

Render subtree

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 render

If no --root-id option is passed, the full graph is rendered


# only renders 255 and its descendents
broccoli-viz --root-id=255 broccoli-viz.0.json >