Monitor your DQMH modules’ communication (requests and broadcasts) live and in real-time.
All the flexibility that the DQMH Framework brings with its modules – which you can start and stop dynamically, and which can receive request messages from any place in your application and send broadcasts out into the wild – comes at a cost: The more dynamic your application, the harder to follow the flow of information and data.
Just imagine taking over a software project from a coworker, and then having to track down a race condition in between a bunch of modules – impossible!
The Lumos toolkit allows you to monitor the communication inside your application – live and in real time!
With a little bit of VI Scripting magic, the tool taps into your code and adds hooks so it can listen in on the events being sent between your modules. The viewer then displays the logged messages in a sequence-style diagram.
But see for yourselves:
The Lumos viewer shows the full trace like this (click on picture for large version):
A beautiful SVG export is available directly from the viewer window:
The trace can be configured to only display messages of certain types (…):
An exported SVG will only show those messages not filtered out, which can be very helpful and give more clarity in certain situations:
Messages can also be filtered by time:
Again, the SVG export will reflect the filtered scenario:
For programmatic access to the Lumos tracing engine, the tool comes with an API that is easily accessible via the palettes:
Being able to place a divider “manually” – i.e. by placing the Generate Divider Trace.vi on the block diagram – showcases how flexible the Lumos trace engine is. The potential for extensions to this tool is infinite!