diff options
Diffstat (limited to 'ns3-simulations/simulate.org')
| -rw-r--r-- | ns3-simulations/simulate.org | 58 |
1 files changed, 46 insertions, 12 deletions
diff --git a/ns3-simulations/simulate.org b/ns3-simulations/simulate.org index 7594128..87730ec 100644 --- a/ns3-simulations/simulate.org +++ b/ns3-simulations/simulate.org @@ -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 + + + + |
