Start some simulation tests

This commit is contained in:
Loic Guegan 2019-04-25 15:51:05 +02:00
parent 1399886f4d
commit a6e70544bb
37 changed files with 53416 additions and 5509 deletions

View file

@ -1,23 +1,26 @@
* Run simulations
** Experiments
*** Number of sensors
#+BEGIN_SRC bash :noweb yes :results output
<<singleRun>>
for sensorsNumber in $(seq 0 20)
do
run
done
#+END_SRC
#+RESULTS:
** Single Run
#+BEGIN_SRC bash :noweb yes :results output
<<singleRun>>
run
#+END_SRC
#+RESULTS:
#+NAME: singleRun
#+BEGIN_SRC bash :noweb yes
simulator="ns3-simulator/simulator"
parseEnergyScript="./parseEnergy.awk"
parseDelayScript="./parseDelay.awk"
logFolder="logs/"
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NS3_PATH}/build/lib
run () {
@ -33,12 +36,16 @@
# Compute some metrics
energyLog=$(echo "$log" | $parseEnergyScript)
avgDelay=$(echo "$log" | $parseDelayScript)
totalEnergy=$(echo "$energyLog"| awk 'BEGIN{power=0;FS=","}NR!=1{power+=$2}END{print(power)}')
nbPacketCloud=$(echo "$log"|grep -c "CloudSwitch receive")
nbNodes=$(echo "$log"|awk '/Starting simul/{print($4)}')
nbNodes=$(echo "$log"|awk '/Simulation used/{print($3)}')
ns3Version=$(echo "$log"|awk '/NS-3 Version/{print($3)}')
# Save logs
echo -e "#+TITLE: $(date) ns-3 simulation\n" > $logFile
echo -e "#+TITLE: $(date) ns-3 (version ${ns3Version}) simulation\n" > $logFile
echo "* Environment Variables" >> $logFile
env >> $logFile
echo "* Full Command" >> $logFile
echo "$simCMD" >> $logFile
echo "* Output" >> $logFile
@ -46,7 +53,7 @@
echo "* Energy CSV (negative nodeId = WIFI, 0 = AP (Wireless+Wired), positive nodeId = ECOFEN" >> $logFile
echo "$energyLog" >> $logFile
echo "* Metrics" >> $logFile
echo " sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes" >> $logFile
echo "-METRICSLINE- sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes avgDelay:${avgDelay} ns3Version:${ns3Version}" >> $logFile
}
#+END_SRC
@ -57,3 +64,30 @@
: Processing logs/logs/log.txt.csv
: Processing logs/logs/log.txt-energy.csv
* Logs Analysis
** Log -> CSV
#+NAME: logToCSV
#+BEGIN_SRC bash :results none
csvOutput="logs/data.csv"
# First save csv header line
aLog=$(find logs/ -type f -name "*.org"|head -n 1)
metrics=$(cat $aLog|grep "\-METRICSLINE\-"|sed "s/-METRICSLINE-//g")
echo $metrics | awk '{for(i=1;i<=NF;i++){split($i,elem,":");printf(elem[1]);if(i<NF)printf(",");else{print("")}}}' > $csvOutput
# Second save all values
for logFile in $(find logs/ -type f -name "*.org")
do
metrics=$(cat $logFile|grep "\-METRICSLINE\-"|sed "s/-METRICSLINE-//g")
echo $metrics | awk '{for(i=1;i<=NF;i++){split($i,elem,":");printf(elem[2]);if(i<NF)printf(",");else{print("")}}}' >> $csvOutput
done
#+END_SRC
** R Scripts
*** Load Data
#+BEGIN_SRC R
print("lkj")
#+END_SRC