Measurement Subscriptions - adjacentlink/opentestpoint GitHub Wiki

Client applications can subscribe to some or all of the measurement messages available from a probe message publisher using a ZeroMQ PUB socket.

Subscribing to messages available via a broker may result in subscribing to probes from more than one proxied otestpointd instance, depending on the specificity of the probe message name used when subscribing.

The otestpoint-dump application can be used to dump formatted probe message output or binary probe Message Stream Format output. The below listing shows otestpoint-dump output resulting from subscribing to messages published by an instance of otestpoint-broker. More information on otestpoint-dump can be found using the --help option.

[me@host 1]$ otestpoint-dump localhost:9002 EMANE.RFPipe.Tables.Neighbor
[1469212865] node-8/1 9b6535a4-6900-45f1-8381-c7c89b33c989
otestpoint.emane.rfpipe Measurement_emane_rfpipe_tables_neighbor v1 1913 bytes
EMANE.RFPipe.Tables.Neighbor.node-8
[] neighbormetrictable
|NEM  |Rx Pkts|Tx Pkts|Missed Pkts|BW Util |Last Rx      |Last Tx      |SINR Avg     |SINR Stdv|NF Avg|NF Stdv|Rx Rate Avg|Tx Rate Avg|
|1    |63     |0      |2          |172687  |1469206775.22|0.0          |30.0126972198|0.0      |-110.0|0.0    |1000000    |0.0        |
|3    |67     |0      |1          |192752  |1469206773.59|0.0          |25.5701446533|0.0      |-110.0|0.0    |1000000    |0.0        |
|4    |55     |0      |1          |146769  |1469206772.14|0.0          |23.6018218994|0.0      |-110.0|0.0    |1000000    |0.0        |
|5    |53     |0      |3          |144307  |1469206772.11|0.0          |22.8792476654|0.0      |-110.0|0.0    |1000000    |0.0        |
|6    |49     |0      |4          |132694  |1469206770.12|0.0          |22.9224529266|0.0      |-110.0|0.0    |1000000    |0.0        |
|7    |12940  |0      |0          |33820062|1469212864.88|0.0          |110.0        |0.0      |-110.0|0.0    |1000000    |0.0        |
|9    |12952  |0      |0          |33810440|1469212864.99|0.0          |110.0        |0.0      |-110.0|0.0    |1000000    |0.0        |
|65535|0      |12982  |0          |0       |0.0          |1469212864.35|0.0          |0.0      |0.0   |0.0    |0.0        |1000000    |
--
[] neighborstatustable
|NEM  |Rx Pkts|Tx Pkts|Missed Pkts|BW Util Ratio   |SINR Avg|NF Avg|Rx Age          |
|1    |0      |0      |0          |0.0             |0.0     |0.0   |6089.78515625   |
|3    |0      |0      |0          |0.0             |0.0     |0.0   |6091.41455078   |
|4    |0      |0      |0          |0.0             |0.0     |0.0   |6092.85791016   |
|5    |0      |0      |0          |0.0             |0.0     |0.0   |6092.89453125   |
|6    |0      |0      |0          |0.0             |0.0     |0.0   |6094.87646484   |
|7    |3      |0      |0          |0.00628762552515|110.0   |-110.0|0.120495900512  |
|9    |3      |0      |0          |0.00603060005233|110.0   |-110.0|0.00609389878809|
|65535|0      |2      |0          |0.0             |0.0     |0.0   |0.0             |
--


[1469212865] node-6/1 c932f289-7ec3-4e22-a33d-5a8499752b80
otestpoint.emane.rfpipe Measurement_emane_rfpipe_tables_neighbor v1 1917 bytes
EMANE.RFPipe.Tables.Neighbor.node-6
[] neighbormetrictable
|NEM  |Rx Pkts|Tx Pkts|Missed Pkts|BW Util |Last Rx      |Last Tx      |SINR Avg     |SINR Stdv|NF Avg|NF Stdv|Rx Rate Avg|Tx Rate Avg|
|1    |12967  |0      |0          |34967532|1469212864.44|0.0          |32.7931671143|0.0      |-110.0|0.0    |1000000    |0.0        |
|3    |12975  |0      |0          |34964835|1469212865.0 |0.0          |37.387096405 |0.0      |-110.0|0.0    |1000000    |0.0        |
|4    |12946  |0      |0          |34873149|1469212864.49|0.0          |41.3328399658|0.0      |-110.0|0.0    |1000000    |0.0        |
|5    |12961  |0      |0          |34883675|1469212864.43|0.0          |110.0        |0.0      |-110.0|0.0    |1000000    |0.0        |
|7    |48     |0      |4          |120772  |1469206769.96|0.0          |22.3687458038|0.0      |-110.0|0.0    |1000000    |0.0        |
|8    |50     |0      |4          |130563  |1469206770.17|0.0          |23.2420043945|0.0      |-110.0|0.0    |1000000    |0.0        |
|9    |54     |0      |0          |144930  |1469206770.28|0.0          |23.7759284973|0.0      |-110.0|0.0    |1000000    |0.0        |
|65535|0      |12981  |0          |0       |0.0          |1469212864.52|0.0          |0.0      |0.0   |0.0    |0.0        |1000000    |
--
[] neighborstatustable
|NEM  |Rx Pkts|Tx Pkts|Missed Pkts|BW Util Ratio   |SINR Avg     |NF Avg|Rx Age         |
|1    |2      |0      |0          |0.00550298858434|32.8000030518|-110.0|0.572593033314 |
|3    |2      |0      |0          |0.00550298858434|37.4000015259|-110.0|0.106089010835 |
|4    |2      |0      |0          |0.00550298858434|41.3000030518|-110.0|0.0128980129957|
|5    |2      |0      |0          |0.00588798802346|110.0        |-110.0|0.0495770126581|
|7    |0      |0      |0          |0.0             |0.0          |0.0   |6094.19775391  |
|8    |0      |0      |0          |0.0             |0.0          |0.0   |6093.98193359  |
|9    |0      |0      |0          |0.0             |0.0          |0.0   |6093.87646484  |
|65535|0      |2      |0          |0.0             |0.0          |0.0   |0.0            |
--

<...truncated for listing...>

The ability to output formatted measurement data requires probe developers to define specialized Python modules with message format functions.

The -t option of otestpoint-dump produces a running tally of the number of measurements produced by each node. This view may be useful for monitoring small OpenTestPoint deployments.

[me@host 1]$ otestpoint-dump localhost:9002 -t
                                        node-1  node-10 node-2  node-3  node-4  node-5  node-6  node-7  node-8  node-9 
EMANE.PhysicalLayer.Counters.General    32      32      32      32      32      32      32      32      32      32     
EMANE.PhysicalLayer.Tables.Events       32      32      32      32      32      32      32      32      32      32     
EMANE.PhysicalLayer.Tables.Status       32      32      32      32      32      32      32      32      32      32     
EMANE.RFPipe.Counters.General           32      32      32      32      32      32      32      32      32      32     
EMANE.RFPipe.Tables.Events              32      32      32      32      32      32      32      32      32      32     
EMANE.RFPipe.Tables.Neighbor            32      32      32      32      32      32      32      32      32      32     
EMANE.RFPipe.Tables.Status              32      32      32      32      32      32      32      32      32      32     
EMANE.VirtualTransport.Counters.General 32      32      32      32      32      32      32      32      32      32     
EMANE.VirtualTransport.Tables.Events    32      32      32      32      32      32      32      32      32      32     
EMANE.VirtualTransport.Tables.Status    32      32      32      32      32      32      32      32      32      32