Generating a graphical representation of the dependency graphΒΆ

To generate the graph, run the application with the version.instrument configuration variable set to graph.

The graph instrumentation creates a subdirectory with the graph in several stages and a script that can be executed to generate a PDF that combines each step in a different page. The progress of the execution can be visualized by advancing the pages. This PDF is intended to be viewed in whole page mode, instead of continuous mode.

The most common graph instrumentation options are the following:

instrument.graph.shorten_filenames (default: false)

When generating nodes, do not emit the directory together with the source code file name.

instrument.graph.show_all_steps (default: false)

Instead of trying to collapse in one step as many related changes as possible, show one at a time.

instrument.graph.display (default: false)

Automatically process the graph through graphviz and display it.

instrument.graph.display_command (default: xdg-open or evince or okular or acroread)

Command to display the final PDF of the graph. Only effective if instrument.graph.display is true.

instrument.graph.show_log (default: false)

Emit a table next to the graph with a description of the changes in each frame.

In addition, the following advanced configuration variables can be used to debug the runtime:

instrument.graph.show_dependency_structures (default: false)

Show the internal data structures that determine when tasks are ready.

instrument.graph.show_spurious_dependency_structures (default: false)

Do not hide internal data structures that do not determine dependencies or that are redundant by transitivity.

instrument.graph.show_dead_dependency_structures (default: false)

Do not hide the internal data structures after they are no longer relevant.

instrument.graph.show_regions (default: false)

When showing internal data structures, include the information about the range of data or region that is covered.