def _parse_results_by_port(self, job, port, flow): results = FlowMeasurementResults(measurement=self, flow=flow) results.generator_results = SequentialPerfResult() results.generator_cpu_stats = SequentialPerfResult() results.receiver_results = SequentialPerfResult() results.receiver_cpu_stats = SequentialPerfResult() if not job.passed: results.generator_results.append(PerfInterval(0, 0, "packets")) results.generator_cpu_stats.append(PerfInterval(0, 0, "cpu_percent")) results.receiver_results.append(PerfInterval(0, 0, "packets")) results.receiver_cpu_stats.append(PerfInterval(0, 0, "cpu_percent")) else: prev_time = job.result["start_time"] prev_tx_val = 0 prev_rx_val = 0 for i in job.result["data"]: time_delta = i["timestamp"] - prev_time tx_delta = i["measurement"][port]["opackets"] - prev_tx_val rx_delta = i["measurement"][port]["ipackets"] - prev_rx_val results.generator_results.append(PerfInterval( tx_delta, time_delta, "pkts")) results.receiver_results.append(PerfInterval( rx_delta, time_delta, "pkts")) prev_time = i["timestamp"] prev_tx_val = i["measurement"][port]["opackets"] prev_rx_val = i["measurement"][port]["ipackets"] cpu_delta = i["measurement"]["global"]["cpu_util"] results.generator_cpu_stats.append(PerfInterval( cpu_delta, time_delta, "cpu_percent")) results.receiver_cpu_stats.append(PerfInterval( cpu_delta, time_delta, "cpu_percent")) return results
def collect_results(self): test_flows = self._finished_measurements results = [] for test_flow in test_flows: flow_results = FlowMeasurementResults(measurement=self, flow=test_flow.flow) flow_results.generator_results = self._parse_job_streams( test_flow.client_job) flow_results.generator_cpu_stats = self._parse_job_cpu( test_flow.client_job) flow_results.receiver_results = self._parse_job_streams( test_flow.server_job) flow_results.receiver_cpu_stats = self._parse_job_cpu( test_flow.server_job) results.append(flow_results) return results
def collect_results(self) -> List[FlowMeasurementResults]: test_flows = self._finished_measurements results = [] for test_flow in test_flows: flow_results = FlowMeasurementResults(measurement=self, flow=test_flow.flow) generator_stats = self._parse_job_samples(test_flow.client_job) flow_results.generator_results = generator_stats[0] flow_results.generator_cpu_stats = generator_stats[1] self._host_versions[test_flow.flow.generator] = \ test_flow.client_job.result["data"]["VERSION"] receiver_stats = self._parse_job_samples(test_flow.server_job) flow_results.receiver_results = receiver_stats[0] flow_results.receiver_cpu_stats = receiver_stats[1] self._host_versions[test_flow.flow.receiver] = \ test_flow.server_job.result["data"]["VERSION"] results.append(flow_results) return results