Axon tools - flow visualization and documentation

Hi all,

We use Axon on my current project, and noticed that the there’s a lack of tools to support working with Axon (or at least it was insufficient of us). And then we decided to fix it :wink:

We created a number of tools so far, and so I wanted to share it with you.

Feedback is welcome, and what is even more welcome though is your help with improving these tooling!

  1. MRI - static Axon flow visualization tool (https://github.com/pbadenski/mri) - It creates static representation of the flow of events and commands by traversing Java AST

  1. Axon - dynamic flow visualization tool (to be Open Source soon) - It dynamically creates the flow of commands and events in the running system. (* sensitive project data has been removed)

  1. Experiment in interactive documentation for Axon (https://github.com/pbadenski/axon-interactive-documentation)

http://pbadenski.github.io/axon-interactive-documentation/axon-high-level-flow.html

http://pbadenski.github.io/axon-interactive-documentation/axon-disruptor.html

Hi Pawel,

that looks pretty awesome. I have seen the first tool (MRI, nice name), but the runtime one is really cool. It fits nicely with one of the ideas I have for analysis of a runtime systems. It has to do with MRI, so you might have to rename your tools a bit ;-). Usually, an MRI is done on a live system.

Anyway, back to topic. My idea was basically the option to do a “Contrast Injection” (had to google the name for it: Gadolinium). It’s a fluid that shows clearly on an MRI scan, so that doctors can see, for example, the flow of blood in organs or tissue. In Axon, a special marker header could be added that is recognized by components and gives off a signal to a monitoring tool (basically, the one you’ve built). That allows you to monitor the flow of a specific command and it’s resulting events.

Just wanted to throw it into the mix :wink:

Cheers,

Allard

really cool stuff!, congrats guys!
A lot of nice memories come in mind.

Maybe something like this could be inspiring:

https://bitbucket.org/aktivecortex/aktivecortex/wiki/tracing.md

Cheers,
Domenico