UTI: Export results
[csit.git] / resources / libraries / robot / performance / performance_display.robot
index e8dfdbb..db2b522 100644 (file)
@@ -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:
 | | [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:*
 | | [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]
 | | [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
 | |
 | | [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