EBus Scanner Graphing Tool

I had a thought today: “I sure wish I could see how EBuses and Components interact with each other in my code in a visual manner.”

So I made a tool that does just that. https://github.com/Aristo7/EBusScanner

example_graph

 

EBusScanner

Scans your source code for Lumberyard EBuses and their use. Build a digraph out of that information.

Usage

EBus_Scanner.exe output.dot.txt C:\work\Lumberyard\dev\Gems\LightningArc

Result

Produces a graphviz dot file, for example:

digraph { 
    AssetCatalogRequestBus [shape=box,style=filled,color=".7 .3 1.0"] ;
    EditorLightningComponent -> AssetCatalogRequestBus;
    AudioRtpcComponentRequestBus [shape=box,style=filled,color=".7 .3 1.0"] ;
    LightningComponent -> AudioRtpcComponentRequestBus;
    AudioTriggerComponentRequestBus [shape=box,style=filled,color=".7 .3 1.0"] ;
    LightningComponent -> AudioTriggerComponentRequestBus;
    ComponentApplicationBus [shape=box,style=filled,color=".7 .3 1.0"] ;
    LightningComponent -> ComponentApplicationBus;
    ...
}

Then you can install graphviz and generate a graph like this:

"C:\Program Files (x86)\Graphviz2.38\bin\dot.exe" -Tpng output.dot.txt -o output.png

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s