diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-04-24 16:49:40 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-04-24 16:49:40 +0200 |
| commit | 1da73fb60964a92442d66454265897259120582a (patch) | |
| tree | 3e64e0083ba73ad6c5b2aceca42ce5de726a197e /ns3-simulations/parseEnergy.awk | |
| parent | 39507e0bb50cc77a377a506f8aee73d7ee306b0e (diff) | |
Add simulation scripts
Diffstat (limited to 'ns3-simulations/parseEnergy.awk')
| -rwxr-xr-x | ns3-simulations/parseEnergy.awk | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/ns3-simulations/parseEnergy.awk b/ns3-simulations/parseEnergy.awk new file mode 100755 index 0000000..ec383b8 --- /dev/null +++ b/ns3-simulations/parseEnergy.awk @@ -0,0 +1,59 @@ +#!/bin/awk -f + +BEGIN { + durationECOFEN=0 +} + +# For ECOFEN energy model +/Node [0-9]+ Conso/ { + if (!($4 in energyECOFEN)){ + energyECOFEN[$4]=$6 + countECOFEN[$4]=1 + } + else { + energyECOFEN[$4]=$6+energyECOFEN[$4] + countECOFEN[$4]++ + } + durationECOFEN=$2 +} + +# For WIFI ns-3 energy model +/Node [0-9]+ consumes/ { + gsub("J","",$4) # Remove trailling Joule symbol + if (!($2 in energy)){ + energyWIFI[$2]=$4 + } + else { + energyWIFI[$2]=$4+energyWIFI[$2] + } +} + + + +END { + # Extract ECOFEN energy + for(key in energyECOFEN){ + if (countECOFEN[key]>0){ # Otherwise: 0 division + overallEnergy[key]=energyECOFEN[key]/countECOFEN[key]*durationECOFEN + } + else { + overallEnergy[key]=0 + } + } + + # Extract WIFI energy + for(key in energyWIFI){ + if(key in overallEnergy){ # Combine WIFI+ECOFEN + overallEnergy[key]+=energyWIFI[key] # Add wifi to ECOFEN + } + else { + overallEnergy[key]=energyWIFI[key] # Only add WIFI since there is no ECOFEN value + } + } + + # CSV output + print("node,energy") + for(key in overallEnergy){ + print(key "," overallEnergy[key]) + } +} |
