diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-05-22 11:24:17 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-05-22 11:24:17 +0200 |
| commit | 8bdcd37ac44fe96d2c59424a24752f87f0444e36 (patch) | |
| tree | e31a0fe38c01bc6814a0b35474875fe538ea87c2 /src/ns3/parseEnergy.awk | |
| parent | 5a77b67d6baae0414310d29cab6f240963866062 (diff) | |
Update paper
Diffstat (limited to 'src/ns3/parseEnergy.awk')
| -rwxr-xr-x | src/ns3/parseEnergy.awk | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/ns3/parseEnergy.awk b/src/ns3/parseEnergy.awk new file mode 100755 index 0000000..6c5cce8 --- /dev/null +++ b/src/ns3/parseEnergy.awk @@ -0,0 +1,55 @@ +#!/usr/bin/awk -f + +BEGIN { + durationECOFEN=0 + sum=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 + energyWIFI[$2]=$4 +} + + + +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("nodeId,energy") + for(key in overallEnergy){ + print(key "," overallEnergy[key]) + } +} |
