Beispiel #1
0
        dataRate = self.arraySize * self.nReceivedArrays / float(
            MEGA_BYTE) / deltaT
        averageMissed = self.nTotalMissedArrays / float(self.nReceivedArrays)
        self.missedArraysStats.add(nMissedArrays)
        if self.nReceivedArrays % 100 == 0:
            print 'NTNDARRAY ID %s; Arrays Missed: %s (Average Missed Per Cycle: %s, Max. Missed Per Cycle: %s, Total Missed: %s), Total Received: %s; Array Receiving Rate: %s [Hz], Data Receiving Rate: %s [MB/s]; Runtime: %s [s]' % (
                arrayId, nMissedArrays, averageMissed, self.maxMissedArrays,
                self.nTotalMissedArrays, self.nReceivedArrays, arrayRate,
                dataRate, deltaT)
            self.missedArraysStats.calculate()
            print self.missedArraysStats
            print


if __name__ == '__main__':
    maxQueueSize = 10
    c = Channel('srfb_ndarray')
    c.setMonitorMaxQueueLength(maxQueueSize)
    for i in range(0, 100):
        print "TEST: ", i
        srfbMonitor = SrfbMonitor(10 * (maxQueueSize + 1))
        c.subscribe('monitor', srfbMonitor.monitor)
        c.startMonitor('')
        time.sleep(10)
        print "Stopping monitor"
        c.stopMonitor()
        print "Unsubscribing monitor"
        c.unsubscribe('monitor')
        print "TEST: ", i, " DONE"
        time.sleep(3)