X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fperformance%2Fperformance_utils.robot;h=0db0f3c140a760935572490a6a317577f2d424a1;hb=e2d4ae690b03413f4f4b2d86e776b5d64df65350;hp=d6158a68165c8725d743951a60658bc152473946;hpb=703d013c83c9a4ce2283f1a0c16fe1511f1144d3;p=csit.git diff --git a/resources/libraries/robot/performance/performance_utils.robot b/resources/libraries/robot/performance/performance_utils.robot index d6158a6816..0db0f3c140 100644 --- a/resources/libraries/robot/performance/performance_utils.robot +++ b/resources/libraries/robot/performance/performance_utils.robot @@ -25,6 +25,10 @@ | Documentation | ... | Performance suite keywords - utilities to find and verify NDR and PDR. +*** Variables *** +| ${trial_duration}= | ${PERF_TRIAL_DURATION} +| ${trial_multiplicity}= | ${PERF_TRIAL_MULTIPLICITY} + *** Keywords *** | Find NDR and PDR intervals using optimized search | | [Documentation] @@ -161,7 +165,7 @@ | | ... | doublings=${doublings} | traffic_directions=${traffic_directions} | | Check NDRPDR interval validity | ${result.pdr_interval} | | ... | ${packet_loss_ratio} -| | Return From Keyword | ${result.pdr_interval.measured_low.transmit_rate} +| | Return From Keyword | ${result.pdr_interval.measured_low.target_tr} | Find critical load using PLRsearch | | [Documentation] @@ -278,15 +282,15 @@ | | | | ${frame_size} = | Get Average Frame Size | ${frame_size} | | Display single bound | NDR_LOWER -| | ... | ${result.ndr_interval.measured_low.transmit_rate} | ${frame_size} +| | ... | ${result.ndr_interval.measured_low.target_tr} | ${frame_size} | | ... | ${result.ndr_interval.measured_low.latency} | | Display single bound | NDR_UPPER -| | ... | ${result.ndr_interval.measured_high.transmit_rate} | ${frame_size} +| | ... | ${result.ndr_interval.measured_high.target_tr} | ${frame_size} | | Display single bound | PDR_LOWER -| | ... | ${result.pdr_interval.measured_low.transmit_rate} | ${frame_size} +| | ... | ${result.pdr_interval.measured_low.target_tr} | ${frame_size} | | ... | ${result.pdr_interval.measured_low.latency} | | Display single bound | PDR_UPPER -| | ... | ${result.pdr_interval.measured_high.transmit_rate} | ${frame_size} +| | ... | ${result.pdr_interval.measured_high.target_tr} | ${frame_size} | Display result of soak search | | [Documentation] @@ -362,25 +366,32 @@ | | ... | Type: float | | | | ... | *Arguments:* -| | ... | - subsamples - How many trials in this measurement. Type: int -| | ... | - trial_duration - Duration of single trial [s]. Type: float -| | ... | - fail_no_traffic - Whether to fail on zero receive count. Type: boolean +| | ... | - trial_duration - Duration of single trial [s]. +| | ... | Type: float +| | ... | - fail_no_traffic - Whether to fail on zero receive count. +| | ... | Type: boolean +| | ... | - trial_multiplicity - How many trials in this measurement. +| | ... | Type: int | | ... | - traffic_directions - Bi- (2) or uni- (1) directional traffic. | | ... | Type: int -| | ... | - tx_port - TX port of TG, default 0. Type: integer -| | ... | - rx_port - RX port of TG, default 1. Type: integer +| | ... | - tx_port - TX port of TG, default 0. +| | ... | Type: integer +| | ... | - rx_port - RX port of TG, default 1. +| | ... | Type: integer | | | | ... | *Example:* | | | | ... | \| Traffic should pass with maximum rate \| \${1} \| \${10.0} \ | | ... | \| \${False} \| \${2} \| \${0} \| \${1} \| | | -| | [Arguments] | ${trial_duration}=${PERF_TRIAL_DURATION} -| | ... | ${fail_no_traffic}=${True} | ${subsamples}=${PERF_TRIAL_MULTIPLICITY} +| | [Arguments] | ${trial_duration}=${trial_duration} +| | ... | ${fail_no_traffic}=${True} +| | ... | ${trial_multiplicity}=${trial_multiplicity} | | ... | ${traffic_directions}=${2} | ${tx_port}=${0} | ${rx_port}=${1} | | -| | ${results} = | Send traffic at specified rate | ${trial_duration} -| | ... | ${max_rate}pps | ${frame_size} | ${traffic_profile} | ${subsamples} +| | ${results}= | Send traffic at specified rate +| | ... | ${trial_duration} | ${max_rate}pps | ${frame_size} +| | ... | ${traffic_profile} | ${trial_multiplicity} | | ... | ${traffic_directions} | ${tx_port} | ${rx_port} | | Set Test Message | ${\n}Maximum Receive Rate trial results | | Set Test Message | in packets per second: ${results} @@ -396,17 +407,24 @@ | | ... | The rate argument should be TRex friendly, so it should include "pps". | | | | ... | *Arguments:* -| | ... | - trial_duration - Duration of single trial [s]. Type: float -| | ... | - rate - Rate for sending packets. Type: string -| | ... | - frame_size - L2 Frame Size [B]. Type: integer/string +| | ... | - trial_duration - Duration of single trial [s]. +| | ... | Type: float +| | ... | - rate - Rate for sending packets. +| | ... | Type: string +| | ... | - frame_size - L2 Frame Size [B]. +| | ... | Type: integer/string | | ... | - traffic_profile - Name of module defining traffc for measurements. | | ... | Type: string -| | ... | - subsamples - How many trials in this measurement. Type: int +| | ... | - trial_multiplicity - How many trials in this measurement. +| | ... | Type: int | | ... | - traffic_directions - Bi- (2) or uni- (1) directional traffic. | | ... | Type: int -| | ... | - tx_port - TX port of TG, default 0. Type: integer -| | ... | - rx_port - RX port of TG, default 1. Type: integer -| | ... | - pkt_trace - True to enable packet trace. Type: boolean +| | ... | - tx_port - TX port of TG, default 0. +| | ... | Type: integer +| | ... | - rx_port - RX port of TG, default 1. +| | ... | Type: integer +| | ... | - pkt_trace - True to enable packet trace. +| | ... | Type: boolean | | | | ... | *Example:* | | @@ -414,8 +432,9 @@ | | ... | \| 3-node-IPv4 \| \${10} \| \${2} \| \${0} \| \${1} \| \${False} \| | | | | [Arguments] | ${trial_duration} | ${rate} | ${frame_size} -| | ... | ${traffic_profile} | ${subsamples}=${1} | ${traffic_directions}=${2} -| | ... | ${tx_port}=${0} | ${rx_port}=${1} | ${pkt_trace}=${False} +| | ... | ${traffic_profile} | ${trial_multiplicity}=${trial_multiplicity} +| | ... | ${traffic_directions}=${2} | ${tx_port}=${0} | ${rx_port}=${1} +| | ... | ${pkt_trace}=${False} | | | | Clear and show runtime counters with running traffic | ${trial_duration} | | ... | ${rate} | ${frame_size} | ${traffic_profile} @@ -427,7 +446,7 @@ | | Run Keyword If | ${dut_stats}==${True} | | ... | VPP enable elog traces on all DUTs | ${nodes} | | ${results} = | Create List -| | FOR | ${i} | IN RANGE | ${subsamples} +| | FOR | ${i} | IN RANGE | ${trial_multiplicity} | | | # The following line is skipping some default arguments, | | | # that is why subsequent arguments have to be named. | | | Send traffic on tg | ${trial_duration} | ${rate} | ${frame_size}