for i in ${blds[@]}; do
curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,VPP]}/${i}/robot/report/output_perf_data.xml \
--output ${DIR[PLOT,VPP]}/${JOB[PERF,VPP]}-${i}.xml
- curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,VPP]}/${i}/robot/report/output_perf_data.json \
- --output ${DIR[PLOT,VPP]}/${JOB[PERF,VPP]}-${i}.json
+ #curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,VPP]}/${i}/robot/report/output_perf_data.json \
+ # --output ${DIR[PLOT,VPP]}/${JOB[PERF,VPP]}-${i}.json
if [[ ${DEBUG} -eq 0 ]] ;
then
curl --fail --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,VPP]}/${i}/robot/report/\*zip\*/robot-plugin.zip \
for i in ${blds[@]}; do
curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,DPDK]}/${i}/robot/report/output_perf_data.xml \
--output ${DIR[PLOT,DPDK]}/${JOB[PERF,DPDK]}-${i}.xml
- curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,DPDK]}/${i}/robot/report/output_perf_data.json \
- --output ${DIR[PLOT,DPDK]}/${JOB[PERF,DPDK]}-${i}.json
+ #curl --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,DPDK]}/${i}/robot/report/output_perf_data.json \
+ # --output ${DIR[PLOT,DPDK]}/${JOB[PERF,DPDK]}-${i}.json
if [[ ${DEBUG} -eq 0 ]] ;
then
curl --fail --silent ${URL[JENKINS,CSIT]}/${JOB[PERF,DPDK]}/${i}/robot/report/\*zip\*/robot-plugin.zip \
### FUNCTIONAL SOURCE DATA
#if [[ ${DEBUG} -eq 1 ]] ;
-# cp ./${JOB[FUNC,DPDK]}-${JOB[FUNC,VPP,BLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[FUNC,DPDK]}-${JOB[FUNC,VPP,BLD]}.zip
+# cp ./${JOB[FUNC,VPP]}-${JOB[FUNC,VPP,BLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[FUNC,VPP]}-${JOB[FUNC,VPP,BLD]}.zip
#fi
if [[ ${DEBUG} -eq 0 ]] ;
then
- curl --fail --silent ${URL[JENKINS,CSIT]}/${JOB[FUNC,DPDK]}/${JOB[FUNC,VPP,BLD]}/robot/report/\*zip\*/robot-plugin.zip \
- --output ${DIR[STATIC,ARCH]}/${JOB[FUNC,DPDK]}-${JOB[FUNC,VPP,BLD]}.zip
+ curl --fail --silent ${URL[JENKINS,CSIT]}/${JOB[FUNC,VPP]}/${JOB[FUNC,VPP,BLD]}/robot/report/\*zip\*/robot-plugin.zip \
+ --output ${DIR[STATIC,ARCH]}/${JOB[FUNC,VPP]}-${JOB[FUNC,VPP,BLD]}.zip
fi
-### HONEYCOMB SOURCE DATA
+### HONEYCOMB FUNCTIONAL SOURCE DATA
#if [[ ${DEBUG} -eq 1 ]] ;
# cp ./${JOB[FUNC,HC]}-${JOB[FUNC,HC,BLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[FUNC,HC]}-${JOB[FUNC,HC,BLD]}.zip
--output ${DIR[STATIC,ARCH]}/${JOB[FUNC,HC]}-${JOB[FUNC,HC,BLD]}.zip
fi
+### HONEYCOMB PERFORMANCE SOURCE DATA
+
+#if [[ ${DEBUG} -eq 1 ]] ;
+# cp ./${JOB[PERF,HC]}-${JOB[PERF,HC,BLD]}.zip ${DIR[STATIC,ARCH]}/${JOB[PERF,HC]}-${JOB[PERF,HC,BLD]}.zip
+#fi
+
+if [[ ${DEBUG} -eq 0 ]] ;
+then
+ blds=${JOB[PERF,HC,BLD]}
+ for i in ${blds[@]}; do
+ curl --silent ${URL[JENKINS,HC]}/${JOB[PERF,HC]}/${JOB[PERF,HC,BLD]}/robot/report/\*zip\*/robot-plugin.zip \
+ --output ${DIR[STATIC,ARCH]}/${JOB[PERF,HC]}-${JOB[PERF,HC,BLD]}.zip
+done
+fi
+
### NSH_SFC SOURCE DATA
#if [[ ${DEBUG} -eq 1 ]] ;
--output ${DIR[DTO,PERF,VPP]}/vpp_performance_operational_data.rst \
--data "SH_RUN" --formatting rst --start 4 --level 2
+ blds=${JOB[PERF,VPP,BLD]}
+ for i in ${blds[@]}; do
+ unzip -o ${DIR[STATIC,ARCH]}/${JOB[PERF,VPP]}-${i}.zip -d ${DIR[WORKING]}/
+ python run_robot_json_data.py \
+ --input ${DIR[WORKING]}/output.xml \
+ --output ${DIR[DTR,PERF,VPP,IMPRV]}/${JOB[PERF,VPP]}-${i}.json \
+ --vdevice ${i}
+ done
+
# DPDK PERF
- unzip -o ${DIR[STATIC,ARCH]}/${JOB[PERF,DPDK]}-${JOB[PERF,DPDK,FBLD]}.zip -d ${DIR[STATIC,ARCH]}/
+ unzip -o ${DIR[STATIC,ARCH]}/${JOB[PERF,DPDK]}-${JOB[PERF,DPDK,FBLD]}.zip -d ${DIR[WORKING]}/
python run_robot_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
--output ${DIR[DTR,PERF,DPDK]}/dpdk_performance_results.rst \
--formatting rst --start 4 --level 2
# VPP FUNC
- unzip -o ${DIR[STATIC,ARCH]}/${JOB[FUNC,DPDK]}-${JOB[FUNC,VPP,BLD]}.zip -d ${DIR[WORKING]}/
+ unzip -o ${DIR[STATIC,ARCH]}/${JOB[FUNC,VPP]}-${JOB[FUNC,VPP,BLD]}.zip -d ${DIR[WORKING]}/
python run_robot_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
- --output ${DIR[DTR,FUNC,VPP}/vpp_functional_results.rst \
+ --output ${DIR[DTR,FUNC,VPP]}/vpp_functional_results.rst \
--formatting rst --start 5 --level 2
python run_robot_teardown_data.py -i ${DIR[WORKING]}/robot-plugin/output.xml \
- --output ${DIR[DTR,FUNC,VPP}/vpp_functional_configuration.rst \
+ --output ${DIR[DTC,FUNC,VPP]}/vpp_functional_configuration.rst \
--data "VAT_H" --formatting rst --start 5 --level 2
# HC FUNC
--formatting rst --start 5 --level 2
fi
+# Generate tables for performance improvements
+if [[ ${DEBUG} -eq 0 ]] ;
+then
+ python run_improvments_tables.py \
+ --input ${DIR[DTR,PERF,VPP,IMPRV]} \
+ --output ${DIR[DTR,PERF,VPP,IMPRV]}
+fi
+
# Delete temporary json files
find ${DIR[RST]} -name "*.json" -type f -delete
# Plot packets per second
-# VPP L2
+# VPP L2 sel1
+
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-sel1-ndrdisc \
+ --title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
+ --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-sel1-ndrdisc \
+ --title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
+ --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-sel1-pdrdisc \
+ --title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" \
+ --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-sel1-pdrdisc \
+ --title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" \
+ --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+
+# VPP L2 sel2
python run_plot.py --input ${DIR[PLOT,VPP]} \
- --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-ndrdisc \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-sel2-ndrdisc \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
- --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+ --xpath '//*[@framesize="64B" and ((contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --lower 0 --upper 8000000
python run_plot.py --input ${DIR[PLOT,VPP]} \
- --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-ndrdisc \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-sel2-ndrdisc \
--title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
- --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+ --xpath '//*[@framesize="64B" and ((contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --lower 5000000 --upper 12000000
python run_plot.py --input ${DIR[PLOT,VPP]} \
- --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-pdrdisc \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-sel2-pdrdisc \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" \
- --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+ --xpath '//*[@framesize="64B" and ((contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --lower 0 --upper 8000000
python run_plot.py --input ${DIR[PLOT,VPP]} \
- --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-pdrdisc \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-sel2-pdrdisc \
--title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" \
- --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"PDRDISC") and not(contains(@tags,"NDRDISC")) and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]'
+ --xpath '//*[@framesize="64B" and ((contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --lower 5000000 --upper 12000000
# VPP IP4
# Plot latency
-# VPP L2
+# VPP L2 sel1
+
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-sel1-ndrdisc-lat50 \
+ --title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
+ --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
+python run_plot.py --input ${DIR[PLOT,VPP]} \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-sel1-ndrdisc-lat50 \
+ --title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
+ --xpath '//*[@framesize="64B" and contains(@tags,"BASE") and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
+
+# VPP L2 sel2
python run_plot.py --input ${DIR[PLOT,VPP]} \
- --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-ndrdisc-lat50 \
+ --output ${DIR[STATIC,VPP]}/64B-1t1c-l2-sel2-ndrdisc-lat50 \
--title "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
- --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
+ --xpath '//*[@framesize="64B" and ((contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"1T1C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
python run_plot.py --input ${DIR[PLOT,VPP]} \
- --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-ndrdisc-lat50 \
+ --output ${DIR[STATIC,VPP]}/64B-2t2c-l2-sel2-ndrdisc-lat50 \
--title "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" \
- --xpath '//*[@framesize="64B" and (contains(@tags,"BASE") or (contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
+ --xpath '//*[@framesize="64B" and ((contains(@tags,"FEATURE") and contains(@tags,"ACL50") and contains(@tags,"10k_FLOWS"))) and contains(@tags,"NDRDISC") and contains(@tags,"2T2C") and (contains(@tags,"L2BDMACSTAT") or contains(@tags,"L2BDMACLRN") or contains(@tags,"L2XCFWD")) and not(contains(@tags,"VHOST"))]' --latency lat_50
# VPP IP4