Routing service monitoring clarification

3 posts / 0 new
Last post
Offline
Last seen: 3 years 7 months ago
Joined: 04/25/2016
Posts: 9
Routing service monitoring clarification

 I'm using the Routing Service monitoring topic as a way to diagnosis issues in our system and I'm curious about what to expect.  Lets take an example...I have a topic route "Foo" and I'm sending 1 sample every 10 seconds so I expect samples per second (sps) to be close to 0.1 sps.  The output sps topic reports 0.099 Hz.  However, I have 2+ readers subscribed to that data.  Is "output_samples_per_s" how many times the stream writer calls write?  If so, then 0.099 sps is correct.  Or should it be the actual number of samples that gets published to all readers in the system.  In this case, if I had 2 readers, I would expect the output samples to be closer to 0.2 sps.  Could you explain how the monitoring data is collected and calculated?

Thanks,

Paul

Offline
Last seen: 3 years 7 months ago
Joined: 04/25/2016
Posts: 9

After looking through the code, it seems like the former is correct, which makes sense because DDS abstracts away managing the interested readers in your system.

Is there a nice way to get the physical bytes written?  Specifically for routing service, but also more generally?

Offline
Last seen: 2 years 8 months ago
Joined: 08/09/2017
Posts: 25

It is possible to use the RTI Connext Monitoring Libraries in conjunction with the Routing Service to obtain these types of statistics.  Information about what topics and data are provided by the Monitoring Libraries is available in the Core Libraries User's Manual. See the following:
https://community.rti.com/static/documentation/connext-dds/5.3.0/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/index.htm#UsersManual/PartMonitoringLib.htm#partmonitoringlib_2405847299_920452%3FTocPath%3DPart%25209%253A%2520RTI%2520Monitoring%2520Library%7C_____0

The documentation can be followed to enable monitoring in the Routing Service participants, as in the following example:

<domain_route name="TwoWayDomainRoute"> 
  <participant_1> 
    <domain_id>0</domain_id> 
    <participant_qos> 
      <property> 
        <value> 
          <element> 
            <name>rti.monitor.library</name> 
            <value>rtimonitoring</value> 
          </element> 
          <element> 
            <name>rti.monitor.create_function</name> 
            <value>RTIDefaultMonitor_create</value> 
          </element> 
        </value> 
      </property> 
    </participant_qos> 
  </participant_1> 
  ...