def test_port_stats(ixia: IxeApp, locations: List[str]) -> None: """ Test port statistics. """ print(test_port_stats.__doc__) ixia.session.reserve_ports(locations, force=True) cfg1 = Path(__file__).parent.joinpath('configs/test_config_1.prt') cfg2 = Path(__file__).parent.joinpath('configs/test_config_2.prt') _load_configs(ixia, cfg1, cfg2) port1 = locations[0] port2 = locations[1] ixia.session.start_transmit() port_stats = IxePortsStats() port_stats.read_stats() print(json.dumps(port_stats.statistics, indent=1, sort_keys=True)) assert port_stats.statistics[port1]['framesSent'] > 0 assert port_stats.statistics[port2]['framesSent_rate'] > 0 ixia.session.stop_transmit() ixia.session.ports[port1].start_transmit() time.sleep(8) ixia.session.ports[port1].stop_transmit() time.sleep(1) port1_stats = ixia.session.ports[port1].read_stats('framesSent', 'framesReceived') print(json.dumps(port1_stats, indent=1)) assert port1_stats['framesSent'] > 0 assert port1_stats['framesSent_rate'] == 0
def get_all_ports_stats(self): self._logger.info(self._get_tg_log_title(), self._get_tg_log_message(), True) super(self.__class__, self).get_all_ports_stats() stats = IxePortsStats(self._connector.session) stats.read_stats() for port in self.ports: stats_message = "" self.ports[port]._update_port_stats(stats) stats_message += "{}".format(str(self.ports[port].statistics)) self._logger.info(port, stats_message) self._logger.info("end_level", "end_level") return stats.statistics
def testPortStats(self): cfg1 = path.join(path.dirname(__file__), 'configs/stats_config_1.prt') cfg2 = path.join(path.dirname(__file__), 'configs/stats_config_2.prt') self._reserver_and_load(cfg1, cfg2) self.ixia.session.start_transmit() port_stats = IxePortsStats(self.ixia.session) port_stats.read_stats() print(json.dumps(port_stats.statistics, indent=1, sort_keys=True)) assert(port_stats.statistics[self.port1]['framesSent'] > 0) assert(port_stats.statistics[self.port2]['framesSent_rate'] > 0) self.ixia.session.stop_transmit() self.ports[self.port1].start_transmit() time.sleep(4) self.ports[self.port1].stop_transmit() port1_stats = self.ports[self.port1].read_stats('framesSent', 'framesReceived') print(json.dumps(port1_stats, indent=1)) assert(port1_stats['framesSent'] > 0) assert(port1_stats['framesSent_rate'] == 0)
def test_clear_all_stats(self): stats = self._config_and_run_stream_stats_test(rx_ports=[]) assert(stats[str(self.ports[self.port1].streams[1])]['tx']['framesSent'] == 1) assert(stats[str(self.ports[self.port1].streams[1])]['rx'][str(self.ports[self.port2])]['totalFrames'] == 1) assert(stats[str(self.ports[self.port2].streams[2])]['tx']['framesSent'] == 4) assert(stats[str(self.ports[self.port2].streams[2])]['rx'][str(self.ports[self.port1])]['totalFrames'] == 4) port_stats = IxePortsStats(self.ixia.session) stream_stats = IxeStreamsStats(self.ixia.session) port_stats.read_stats('framesSent') print(json.dumps(port_stats.statistics, indent=1, sort_keys=True)) assert(port_stats.statistics[str(self.ports[self.port1])]['framesSent'] == 3) assert(port_stats.statistics[str(self.ports[self.port2])]['framesSent'] == 7) self.ports[self.port1].clear_port_stats() time.sleep(2) port_stats.read_stats('framesSent') print(json.dumps(port_stats.statistics, indent=1, sort_keys=True)) assert(port_stats.statistics[str(self.ports[self.port1])]['framesSent'] == 0) assert(port_stats.statistics[str(self.ports[self.port2])]['framesSent'] == 7) stream_stats.read_stats('totalFrames') print(json.dumps(stream_stats.statistics, indent=1, sort_keys=True)) assert(stream_stats.statistics[str(self.ports[self.port1].streams[1])]['tx']['framesSent'] == 0) assert(stream_stats.statistics[str(self.ports[self.port1].streams[1])]['rx'][str(self.ports[self.port2])]['totalFrames'] == 1) # noqa assert(stream_stats.statistics[str(self.ports[self.port2].streams[2])]['tx']['framesSent'] == 4) assert(stream_stats.statistics[str(self.ports[self.port2].streams[2])]['rx'][str(self.ports[self.port1])]['totalFrames'] == -1) # noqa self.ixia.session.clear_all_stats() time.sleep(2) port_stats.read_stats('framesSent') print(json.dumps(port_stats.statistics, indent=1, sort_keys=True)) assert(port_stats.statistics[str(self.ports[self.port1])]['framesSent'] == 0) assert(port_stats.statistics[str(self.ports[self.port2])]['framesSent'] == 0) stream_stats.read_stats('totalFrames') print(json.dumps(stream_stats.statistics, indent=1, sort_keys=True)) assert(stream_stats.statistics[str(self.ports[self.port1].streams[1])]['tx']['framesSent'] == 0) assert(stream_stats.statistics[str(self.ports[self.port1].streams[1])]['rx'][str(self.ports[self.port2])]['totalFrames'] == -1) # noqa assert(stream_stats.statistics[str(self.ports[self.port2].streams[2])]['tx']['framesSent'] == 0) assert(stream_stats.statistics[str(self.ports[self.port2].streams[2])]['rx'][str(self.ports[self.port1])]['totalFrames'] == -1) # noqa
def read_stats(self, *stats): return IxePortsStats(self.session, self).read_stats(*stats).values()[0]
def read_stats(self, *stats): return IxePortsStats(self.session, self).read_stats(*stats)[str(self)]
def test_clear_all_stats(ixia: IxeApp, locations: List[str]) -> None: port1 = locations[0] port2 = locations[1] stats = _config_and_run_stream_stats_test(ixia, locations, rx_ports=[]) assert stats[str( ixia.session.ports[port1].streams[1])]['tx']['framesSent'] == 1 assert stats[str(ixia.session.ports[port1].streams[1])]['rx'][str( ixia.session.ports[port2])]['totalFrames'] == 1 assert stats[str( ixia.session.ports[port2].streams[2])]['tx']['framesSent'] == 4 assert stats[str(ixia.session.ports[port2].streams[2])]['rx'][str( ixia.session.ports[port1])]['totalFrames'] == 4 port_stats = IxePortsStats(ixia.session) stream_stats = IxeStreamsStats(ixia.session) port_stats.read_stats('framesSent') print(json.dumps(port_stats.statistics, indent=1, sort_keys=True)) assert port_stats.statistics[str( ixia.session.ports[port1])]['framesSent'] == 3 assert port_stats.statistics[str( ixia.session.ports[port2])]['framesSent'] == 7 ixia.session.ports[port1].clear_port_stats() time.sleep(2) port_stats.read_stats('framesSent') print(json.dumps(port_stats.statistics, indent=1, sort_keys=True)) assert port_stats.statistics[str( ixia.session.ports[port1])]['framesSent'] == 0 assert port_stats.statistics[str( ixia.session.ports[port2])]['framesSent'] == 7 stream_stats.read_stats('totalFrames') print(json.dumps(stream_stats.statistics, indent=1, sort_keys=True)) stream_1_rx = stream_stats.statistics[str( ixia.session.ports[port1].streams[1])]['rx'] assert stream_stats.statistics[str( ixia.session.ports[port1].streams[1])]['tx']['framesSent'] == 0 assert stream_1_rx[str( ixia.session.ports[port2])]['totalFrames'] == 1 # noqa assert stream_stats.statistics[str( ixia.session.ports[port2].streams[2])]['tx']['framesSent'] == 4 assert stream_1_rx[str( ixia.session.ports[port1])]['totalFrames'] == -1 # noqa ixia.session.clear_all_stats() time.sleep(2) port_stats.read_stats('framesSent') print(json.dumps(port_stats.statistics, indent=1, sort_keys=True)) assert port_stats.statistics[str( ixia.session.ports[port1])]['framesSent'] == 0 assert port_stats.statistics[str( ixia.session.ports[port2])]['framesSent'] == 0 stream_stats.read_stats('totalFrames') print(json.dumps(stream_stats.statistics, indent=1, sort_keys=True)) assert stream_stats.statistics[str( ixia.session.ports[port1].streams[1])]['tx']['framesSent'] == 0 assert stream_stats.statistics[str( ixia.session.ports[port1].streams[1])]['rx'][str( ixia.session.ports[port2])]['totalFrames'] == -1 # noqa assert stream_stats.statistics[str( ixia.session.ports[port2].streams[2])]['tx']['framesSent'] == 0 assert stream_stats.statistics[str( ixia.session.ports[port2].streams[2])]['rx'][str( ixia.session.ports[port1])]['totalFrames'] == -1 # noqa