FIX: Switch crypto tests to vfio-pci
[csit.git] / resources / libraries / robot / performance / performance_utils.robot
index 4cabe56..ec4033a 100644 (file)
 | | ... | - initial_trial_duration - Duration of initial trials [s]. Type: float
 | | ... | - intermediate phases - Number of intermediate phases [1]. Type: int
 | | ... | - timeout - Fail if search duration is longer [s]. Type: float
+| | ... | - doublings - How many doublings to do when expanding [1]. Type: int
 | | ...
 | | ... | *Example:*
 | | ...
 | | ... | \| Find NDR and PDR intervals using optimized search \| \${64} \| \
 | | ... | 3-node-IPv4 \| \${100000} \| \${14880952} \| \${0.005} \| \${0.005} \
-| | ... | \| \${30.0} \| \${1.0} \| \${2} \| ${600.0} \|
+| | ... | \| \${30.0} \| \${1.0} \| \${2} \| ${600.0} \| ${2} \|
 | | ...
 | | [Arguments] | ${frame_size} | ${topology_type} | ${minimum_transmit_rate}
 | | ... | ${maximum_transmit_rate} | ${packet_loss_ratio}=${0.005}
 | | ... | ${final_relative_width}=${0.005} | ${final_trial_duration}=${30.0}
 | | ... | ${initial_trial_duration}=${1.0}
 | | ... | ${number_of_intermediate_phases}=${2} | ${timeout}=${720.0}
+| | ... | ${doublings}=${2}
 | | ...
 | | ${result} = | Perform optimized ndrpdr search | ${frame_size}
 | | ... | ${topology_type} | ${minimum_transmit_rate*2}
 | | ... | ${maximum_transmit_rate*2} | ${packet_loss_ratio}
 | | ... | ${final_relative_width} | ${final_trial_duration}
 | | ... | ${initial_trial_duration} | ${number_of_intermediate_phases}
-| | ... | timeout=${timeout}
+| | ... | timeout=${timeout} | doublings=${doublings}
 | | Display result of NDRPDR search | ${result} | ${frame_size}
 | | Check NDRPDR interval validity | ${result.pdr_interval}
 | | ... | ${packet_loss_ratio}
 | | ...
 | | [Arguments] | ${interval} | ${packet_loss_ratio}=${0.0}
 | | ...
-| | ${lower_bound_lf} = | Set Variable | ${interval.measured_low.loss_fraction}
+| | ${lower_bound} = | Set Variable | ${interval.measured_low}
+| | ${lower_bound_lf} = | Set Variable | ${lower_bound.loss_fraction}
 | | Return From Keyword If | ${lower_bound_lf} <= ${packet_loss_ratio}
 | | ${message}= | Catenate | SEPARATOR=${SPACE}
 | | ... | Minimal rate loss fraction ${lower_bound_lf}
 | | ... | does not reach target ${packet_loss_ratio}.
+| | ${message_zero} = | Set Variable | Zero packets forwarded!
+| | ${message_other} = | Set Variable | ${lower_bound.loss_count} packets lost.
 | | ${message} = | Set Variable If | ${lower_bound_lf} >= 1.0
-| | ... | ${message}${\n}Zero packets forwarded! | ${message}
+| | ... | ${message}${\n}${message_zero} | ${message}${\n}${message_other}
 | | Fail | ${message}
 
 | Perform additional measurements based on NDRPDR result
 | | Run Keyword If | ${dut_stats}==${True} | Clear all counters on all DUTs
 | | Run Keyword If | ${dut_stats}==${True} and ${pkt_trace}==${True}
 | | ... | VPP Enable Traces On All DUTs | ${nodes}
+| | Run Keyword If | ${dut_stats}==${True}
+| | ... | VPP enable elog traces on all DUTs | ${nodes}
 | | ${results} = | Create List
 | | :FOR | ${i} | IN RANGE | ${subsamples}
 | | | Send traffic on tg | ${trial_duration} | ${rate} | ${framesize}
 | | | ${rx} = | Get Received
 | | | ${rr} = | Evaluate | ${rx} / ${trial_duration}
 | | | Append To List | ${results} | ${rr}
+| | Run Keyword If | ${dut_stats}==${True} | Show event logger on all DUTs
+| | ... | ${nodes}
 | | Run Keyword If | ${dut_stats}==${True} | Show statistics on all DUTs
 | | ... | ${nodes}
 | | Run Keyword If | ${dut_stats}==${True} and ${pkt_trace}==${True}