asdf-viz
2020-06-10
Visualizes the dependencies between asdf systems / Visualize the function call graph.
1ASDF-VIZ
This is a set of command line utilities for visualizing various object hierarchies of a lisp system.
They are roswell-compatible command-line utilities distributed by quicklisp.
Command installation is done by ros install asdf-viz
.
NEWS Oct 20, 2017 We added another utility call-graph-viz
which can visualize the call graph of a function.
NEWS Nov 6, 2017 We added another utility class-viz
which visualizes the class inheritances.
NEWS Nov 25, 2017 We have a license flag -l / --licence for asdf-viz
.
NEWS Sep 19, 2018 System-provided asdf:require-system
systems (e.g. sb-introsoect
) are plotted in a different shape/color. (See weblocks examples)
1.1asdf-viz -- visualizing the library dependencies of asdf systems.
- Simple usage:
$ asdf-viz [output.png] [system-name]...
- Complex usage:
$ asdf-viz [[-e|--exclude SYSTEM]...] [-l|--license] PNG-PATH [SYSTEM...]
Sample output of asdf-viz -l asdf-viz.png asdf-viz
:
1.2call-graph-viz -- visualizing the call graph
Usage: call-graph-viz [options...] png-path
source options
-s / --system SYSTEM : Quickload the system in the beginning. (specified multiple times, accumulates)
-l / --load FILE : Load the FILE before the visualization.(specified multiple times, accumulates)
-r / --ros FILE : Load a .ros script before the visualization. (specified multiple times, accumulates)
This avoids the problem of shebangs in roswell scripts.
filter options
-p / --package PKG : Limit the symbols to the package. (specified multiple times, accumulates)
Package names are automatically upcased.
-f / --function FN : Specify the root nodes.. (specified multiple times, accumulates)
-i / --include-outside-calls : Specifies if the leaf node can contain symbols outside the specified packages.
Examples:
call-graph-viz -s alexandria -p alexandria -f alexandria:symbolicate symbolicate.png
call-graph-viz -s alexandria -f alexandria:symbolicate symbolicate.png
-- Visualize the call graph of alexandria:symbolicate .
The second example has the same meaning, where -p option is inferred from the symbol package.
call-graph-viz -i -s alexandria -f alexandria:symbolicate symbolicate2.png
-- Visualize the call graph of alexandria:symbolicate . Leaf nodes include symbols outside alexandria.
call-graph-viz -s alexandria -p alexandria alexandria.png
-- Visualize the call graph of all external fbound symbols in alexandria
Example outputs:
1.3class-viz -- visualizing the class hierarchy
Usage: class-viz [-s|--system system]* [png-path] [class names...]
Example: class-viz asdf.png asdf:component
Example: class-viz -s plump plump.png plump:node
Example outputs:
1.4Dependencies
roswell and graphviz.
1.5Installation
ros install asdf-viz
- set up PATH to include
.roswell/bin/
1.6Author
- Masataro Asai (guicho2.71828@gmail.com)
2Copyright
Copyright (c) 2015 Masataro Asai (guicho2.71828@gmail.com)
3License
Licensed under the LLGPL License.