Better DDS Debugging with Admin Console
How can you debug a program when data is not flowing? It’s difficult to even diagnose a data flow issues since Quality of Service (QoS) can vary from one application to another. The problem can be compounded by the sheer scale of a system, as well as the integration of subsystems in a heterogeneous environment.
To ease debugging, the RTI Admin Console in Connext DDS 5.1 has added real-time match analyses. Each time a new DataWriter or DataReader is discovered, Admin Console evaluates its QoS as it relates to the other DataWriters and DataReaders associated with that topic. This evaluation is updated as the system changes.
Let’s say a specific DataReader deadline is compatible with a specific DataWriter. Then assume an application changes the deadline of that DataReader to make it incompatible with the DataWriter. Admin Console is notified of the updated QoS (through Discovery) and updates the match status.
So, what does it look like? Well, let’s walk through the user interface elements. First, the Physical View shows that the System, Host (balancerock in this case), and processes are in an error state.
The DDS Logical View also gets in on the act by showing the Topic which has the error. The DDS Logical View provides a DDS-centric view of the system by putting Topics under their respective Domains.
We click on the ‘Square’ Topic to bring up the Topic Editor. While there are two DataWriters, only one of them is mismatched. The DataReader is shown as ‘Partially matched’ because it matches one DataWriter but not the other.
We select the mismatched DataWriter and turn our attention to the ‘Match Analyses’ tab to discover the reasons for the problem.
It seems there are two problems; the Ownership and the Deadline QoSes are mismatched.
Did you notice that the QoS policies in the first column are formatted like hyperlinks? That’s because they are hyperlinks. If you click on the Ownership hyperlink, Admin Console shows you the compatibility documentation for the Ownership QoS policy. The other hyperlink points to the Deadline QoS policy.