Currently the IperfMeasurementGenerator yields a list of a single Flow
for a test configuration. This patch adds a new method that can generate
multiple Flows in the list.
This will be used by parallel iperf measurement in the following patches.
Signed-off-by: Jan Tluka <jtluka(a)redhat.com>
---
.../IperfMeasurementGenerator.py | 45 ++++++++++++++-----
1 file changed, 34 insertions(+), 11 deletions(-)
diff --git a/lnst/Recipes/ENRT/MeasurementGenerators/IperfMeasurementGenerator.py
b/lnst/Recipes/ENRT/MeasurementGenerators/IperfMeasurementGenerator.py
index 324fb5b3..904efa34 100644
--- a/lnst/Recipes/ENRT/MeasurementGenerators/IperfMeasurementGenerator.py
+++ b/lnst/Recipes/ENRT/MeasurementGenerators/IperfMeasurementGenerator.py
@@ -10,6 +10,8 @@ from lnst.RecipeCommon.Perf.Measurements import IperfFlowMeasurement
from lnst.Recipes.ENRT.MeasurementGenerators.BaseMeasurementGenerator import
BaseMeasurementGenerator
+from typing import List
+
class IperfMeasurementGenerator(BaseMeasurementGenerator):
"""
:param perf_tests:
@@ -93,17 +95,14 @@ class IperfMeasurementGenerator(BaseMeasurementGenerator):
for perf_test in self.params.perf_tests:
for size in self.params.perf_msg_sizes:
- yield [
- self._create_perf_flow(
- perf_test,
- client_nic,
- client_bind,
- server_nic,
- server_bind,
- None,
- size,
- )
- ]
+ yield self._create_perf_flows(
+ perf_test,
+ client_nic,
+ client_bind,
+ server_nic,
+ server_bind,
+ size,
+ )
def generate_perf_endpoints(self, config):
"""Generator for perf endpoints
@@ -115,6 +114,30 @@ class IperfMeasurementGenerator(BaseMeasurementGenerator):
"""
return []
+ def _create_perf_flows(
+ self,
+ perf_test,
+ client_nic,
+ client_bind,
+ server_nic,
+ server_bind,
+ msg_size,
+ ) -> List[PerfFlow]:
+ flows = []
+ flows.append(
+ self._create_perf_flow(
+ perf_test,
+ client_nic,
+ client_bind,
+ server_nic,
+ server_bind,
+ None,
+ msg_size,
+ )
+ )
+
+ return flows
+
def _create_perf_flow(
self,
perf_test,
--
2.26.2