blob: 6c5cce8238bfcf7dd2122ec1257643d660a58d41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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])
}
}
|