diff options
| author | Loïc Guégan <loic.guegan@mailbox.org> | 2024-06-30 14:49:37 +0200 |
|---|---|---|
| committer | Loïc Guégan <loic.guegan@mailbox.org> | 2024-06-30 14:49:37 +0200 |
| commit | 8260634af49e26db25149515787b56610b922d56 (patch) | |
| tree | daa548f7fb2c314cb4011344d43d49db3ba4d5df /analysis/scheduler/wakeup.awk | |
| parent | 42594cfab44ec9ea7508ddaf0dc98e4d930f1da1 (diff) | |
Cleaning repository
Diffstat (limited to 'analysis/scheduler/wakeup.awk')
| -rwxr-xr-x | analysis/scheduler/wakeup.awk | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/analysis/scheduler/wakeup.awk b/analysis/scheduler/wakeup.awk new file mode 100755 index 0000000..1bc8934 --- /dev/null +++ b/analysis/scheduler/wakeup.awk @@ -0,0 +1,43 @@ +#!/usr/bin/awk -f + +BEGIN { + RS="\n" + FS=" " + CSV_HEADER="node,wakets,sleepts,duration" + CSV_DATA="" + skip=1 +} + +/wakes up/{ + gsub("]","",$0) + wakets[$4][length(wakets[$4])+1]=$2 + skip=0 +} + +/is sleeping/{ + gsub("]","",$0) + if(!skip){ + sleepts[$4][length(sleepts[$4])+1]=$2 + } +} + +/LOG2PARSE/{ + gsub("]","",$0) + endts[$6][length(endts[$6])+1]=$2 +} + +END { + print(CSV_HEADER); + for(node in wakets){ + for(j=1;j<=length(wakets[node]);j++){ + start=wakets[node][j] + end=endts[node][1] + # Pay attention, the last sleep report for the last wake up is not printed + # so use the printed sleep only if available (otherwise we use the en of the simulation) + if(j<=length(sleepts[node])){ + end=sleepts[node][j] + } + print(node","start","end","end-start) + } + } +} |
