X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fperformance%2Fperformance_utils.robot;h=9661b522d87617fa966d36d7a1d768a8757123e1;hb=refs%2Fchanges%2F62%2F19062%2F14;hp=80fddc671a9759191169206d46b00254ef42925e;hpb=5e6145a4260ffce1c302e94b9b241851f90838e1;p=csit.git diff --git a/resources/libraries/robot/performance/performance_utils.robot b/resources/libraries/robot/performance/performance_utils.robot index 80fddc671a..9661b522d8 100644 --- a/resources/libraries/robot/performance/performance_utils.robot +++ b/resources/libraries/robot/performance/performance_utils.robot @@ -53,10 +53,11 @@ | | ... | Some inputs are read from variables to streamline suites. | | ... | | ... | *Test (or broader scope) variables read:* -| | ... | - traffic_profile - Topology type. Type: string -| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str -| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps]. -| | ... | Type: float +| | ... | - traffic_profile - Name of module defining traffc for measurements. +| | ... | Type: string +| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str +| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps]. +| | ... | Type: float | | ... | | ... | *Arguments:* | | ... | - packet_loss_ratio - Accepted loss during search. Type: float @@ -101,10 +102,11 @@ | | ... | Some inputs are read from variables to streamline suites. | | ... | | ... | *Test (or broader scope) variables read:* -| | ... | - traffic_profile - Topology type. Type: string -| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str -| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps]. -| | ... | Type: float +| | ... | - traffic_profile - Name of module defining traffc for measurements. +| | ... | Type: string +| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str +| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps]. +| | ... | Type: float | | ... | | ... | *Arguments:* | | ... | - packet_loss_ratio - Accepted loss during search. Type: float @@ -261,7 +263,8 @@ | | ... | - duration - Duration of traffic run [s]. Type: integer | | ... | - rate - Rate for sending packets. Type: string | | ... | - frame_size - L2 Frame Size [B] or IMIX_v4_1. Type: integer/string -| | ... | - traffic_profile - Topology type. Type: string +| | ... | - traffic_profile - Name of module defining traffc for measurements. +| | ... | Type: string | | ... | - fail_on_loss - If True, the keyword fails if loss occurred. | | ... | Type: boolean | | ... @@ -284,10 +287,11 @@ | | ... | Some inputs are read from variables to streamline suites. | | ... | | ... | *Test (or broader scope) variables read:* -| | ... | - traffic_profile - Topology type. Type: string -| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str -| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps]. -| | ... | Type: float +| | ... | - traffic_profile - Name of module defining traffc for measurements. +| | ... | Type: string +| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str +| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps]. +| | ... | Type: float | | ... | | ... | *Arguments:* | | ... | - subsamples - How many trials in this measurement. Type: int @@ -326,7 +330,8 @@ | | ... | - 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 - Topology type. Type: string +| | ... | - traffic_profile - Name of module defining traffc for measurements. +| | ... | Type: string | | ... | - subsamples - How many trials in this measurement. Type: int | | ... | - unidirection - False if traffic is bidirectional. Type: boolean | | ... | - tx_port - TX port of TG, default 0. Type: integer @@ -377,7 +382,8 @@ | | ... | - duration - Duration of traffic run [s]. Type: integer | | ... | - rate - Rate for sending packets. Type: string | | ... | - frame_size - L2 Frame Size [B] or IMIX_v4_1. Type: integer/string -| | ... | - traffic_profile - Topology type. Type: string +| | ... | - traffic_profile - Name of module defining traffc for measurements. +| | ... | Type: string | | ... | - unidirection - False if traffic is bidirectional. Type: boolean | | ... | - tx_port - TX port of TG, default 0. Type: integer | | ... | - rx_port - RX port of TG, default 1. Type: integer @@ -400,56 +406,3 @@ | | Run Keyword If | ${dut_stats}==${True} | | ... | Show runtime counters on all DUTs | ${nodes} | | Stop traffic on tg - -| Create network function CPU list -| | # TODO: Is there a better place for this keyword? -| | # It is not exactly a performance utility. -| | [Documentation] -| | ... | Create list of CPUs allocated for network function base on SUT/DUT -| | ... | placement and other network functions placement. -| | ... -| | ... | *Arguments:* -| | ... | - dut - DUT node. Type: dictionary -| | ... | - chains: Total number of chains. Type: integer -| | ... | - nodeness: Total number of nodes per chain. Type: integer -| | ... | - chain_id - Network function chain ID. Type: integer -| | ... | - node_id - Network function node ID within chain. Type: integer -| | ... | - mtcr - Main thread to core ratio. Type: integer -| | ... | - dtcr - Dataplane thread to core ratio. Type: integer -| | ... | - auto_scale - If True, use same amount of Dataplane threads for -| | ... | network function as DUT, otherwise use single physical core for -| | ... | every network function. Type: boolean -| | ... -| | ... | *Note:* -| | ... | KW uses test variables \${cpu_count_int} set by -| | ... | "Add worker threads and rxqueues to all DUTs" -| | ... -| | ... | *Example:* -| | ... -| | ... | \| Create network function CPU list \| ${nodes['DUT1']} \ -| | ... | \| 1 \| 1 \| 1 \| 1 \| -| | ... -| | [Arguments] | ${dut} | ${chains}=${1} | ${nodeness}=${1} | ${chain_id}=${1} -| | ... | ${node_id}=${1} | ${mtcr}=${2} | ${dtcr}=${1} | ${auto_scale}=${False} -| | ... -| | ${sut_sc}= | Set Variable | ${1} -| | ${dut_mc}= | Set Variable | ${1} -| | ${dut_dc}= | Set Variable | ${cpu_count_int} -| | ${skip}= | Evaluate | ${sut_sc} + ${dut_mc} + ${dut_dc} -| | ${dtc}= | Set Variable If | ${auto_scale} | ${cpu_count_int} | ${1} -| | ${if1_status} | ${value}= | Run Keyword And Ignore Error -| | ... | Variable Should Exist | ${${dut}_if1} -| | @{if_list}= | Run Keyword If | '${if1_status}' == 'PASS' -| | ... | Create List | ${${dut}_if1} -| | ... | ELSE | Create List | ${${dut}_if1_1} | ${${dut}_if1_2} -| | ${if2_status} | ${value}= | Run Keyword And Ignore Error -| | ... | Variable Should Exist | ${${dut}_if2} -| | Run Keyword If | '${if2_status}' == 'PASS' -| | ... | Append To List | ${if_list} | ${${dut}_if2} -| | ... | ELSE | Append To List | ${if_list} | ${${dut}_if2_1} | ${${dut}_if2_2} -| | ${dut_numa}= | Get interfaces numa node | ${nodes['${dut}']} | @{if_list} -| | ${nf_cpus}= | Cpu slice of list for NF | node=${nodes['${dut}']} -| | ... | cpu_node=${dut_numa} | chains=${chains} | nodeness=${nodeness} -| | ... | chain_id=${chain_id} | node_id=${node_id} | mtcr=${mtcr} -| | ... | dtcr=${dtcr} | dtc=${dtc} | skip_cnt=${skip} -| | Return From Keyword | ${nf_cpus}