summaryrefslogtreecommitdiff
path: root/ns3-simulations/simulate.org
diff options
context:
space:
mode:
Diffstat (limited to 'ns3-simulations/simulate.org')
-rw-r--r--ns3-simulations/simulate.org58
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
+
+
+
+