X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fperformance%2Fperformance_display.robot;h=db2b522091ca0e490a12fbe35ab2fb5e7b4bf139;hp=e8dfdbbfbd93c929c09e4251b7ac0f0105c031ea;hb=01d8f262afc567c3d49a23c3cb2cdeaced8a6887;hpb=023fa41e51c966a1956bda6b915ffd894ff10e84 diff --git a/resources/libraries/robot/performance/performance_display.robot b/resources/libraries/robot/performance/performance_display.robot index e8dfdbbfbd..db2b522091 100644 --- a/resources/libraries/robot/performance/performance_display.robot +++ b/resources/libraries/robot/performance/performance_display.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# Copyright (c) 2021 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -34,25 +34,50 @@ | | [Arguments] | ${interval} | ${packet_loss_ratio}=${0.0} | | | | ${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} -| | Set Test Variable | \${rate_for_teardown} | ${lower_bound_lf} +| | ${lower_bound_lr} = | Set Variable | ${lower_bound.loss_ratio} +| | Return From Keyword If | ${lower_bound_lr} <= ${packet_loss_ratio} +| | Set Test Variable | \${rate_for_teardown} | ${lower_bound.target_tr} | | ${message}= | Catenate | SEPARATOR=${SPACE} -| | ... | Minimal rate loss fraction ${lower_bound_lf} +| | ... | Minimal rate loss ratio ${lower_bound_lr} | | ... | 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} = | Set Variable If | ${lower_bound_lr} >= 1.0 | | ... | ${message}${\n}${message_zero} | ${message}${\n}${message_other} | | Fail | ${message} +| Compute bandwidth +| | [Documentation] +| | ... | Compute (bidir) bandwidth from given (unidir) transaction rate. +| | ... +| | ... | This keyword reads "ppta" and "avg_frame_size" set elsewhere. +| | ... | The implementation should work for both pps and cps rates. +| | ... | +| | ... | *Arguments:* +| | ... | - tps - Transaction rate (unidirectional) [tps]. Type: float +| | ... +| | ... | *Returns:* +| | ... | - Computed bandwidth in Gbps. +| | ... | - Computed aggregate packet rate in pps. +| | +| | ... | *Example:* +| | +| | ... | |\ \${bandwidth} \| \${pps} = \| Compute Bandwidth \| \${12345.67} \| +| | +| | [Arguments] | ${tps} +| | +| | ${ppta} = | Get Packets Per Transaction Aggregated +| | ${pps} = | Evaluate | ${tps} * ${ppta} +| | ${bandwidth} = | Evaluate | ${pps} * (${avg_frame_size}+20)*8 / 1e9 +| | Return From Keyword | ${bandwidth} | ${pps} + | Display Reconfig Test Message | | [Documentation] | | ... | Display the number of packets lost (bidirectionally) | | ... | due to reconfiguration under traffic. | | | | ... | *Arguments:* -| | ... | - result - Result of bidirectional measurtement. +| | ... | - result - Result of bidirectional measurement. | | ... | Type: ReceiveRateMeasurement | | | | ... | *Example:* @@ -100,15 +125,15 @@ | | [Arguments] | ${result} | | | | Display single bound | NDR_LOWER -| | ... | ${result.ndr_interval.measured_low.target_tr} -| | ... | ${result.ndr_interval.measured_low.latency} +| | ... | ${result[0].measured_low.target_tr} +| | ... | ${result[0].measured_low.latency} | | Display single bound | NDR_UPPER -| | ... | ${result.ndr_interval.measured_high.target_tr} +| | ... | ${result[0].measured_high.target_tr} | | Display single bound | PDR_LOWER -| | ... | ${result.pdr_interval.measured_low.target_tr} -| | ... | ${result.pdr_interval.measured_low.latency} +| | ... | ${result[1].measured_low.target_tr} +| | ... | ${result[1].measured_low.latency} | | Display single bound | PDR_UPPER -| | ... | ${result.pdr_interval.measured_high.target_tr} +| | ... | ${result[1].measured_high.target_tr} | Display result of soak search | | [Documentation] @@ -198,6 +223,8 @@ | | [Arguments] | ${text} | ${tps} | ${latency}=${EMPTY} | | | | Set Test Message | ${\n}${text}: ${tps} CPS | append=yes +| | ${bandwidth} | ${pps} = | Compute Bandwidth | ${tps} +| | Export Search Bound | ${text} | ${tps} | cps | ${bandwidth} | | Return From Keyword If | not """${latency}""" | | Set Test Message | ${\n}LATENCY [min/avg/max/hdrh] per stream: ${latency} | | ... | append=yes @@ -230,11 +257,10 @@ | | | | [Arguments] | ${text} | ${tps} | ${latency}=${EMPTY} | | -| | ${ppta} = | Get Packets Per Transaction Aggregated -| | ${pps} = | Evaluate | ${tps} * ${ppta} -| | ${bandwidth} = | Evaluate | ${pps} * (${avg_frame_size}+20)*8 / 1e9 +| | ${bandwidth} | ${pps} = | Compute Bandwidth | ${tps} | | Set Test Message | ${\n}${text}: ${pps} pps, | append=yes | | Set Test Message | ${bandwidth} Gbps (initial) | append=yes +| | Export Search Bound | ${text} | ${pps} | pps | ${bandwidth * 1e9} | | Return From Keyword If | not """${latency}""" | | Set Test Message | ${\n}LATENCY [min/avg/max/hdrh] per stream: ${latency} | | ... | append=yes