]> Pileus Git - ~andy/rhawk/commitdiff
Update Spades stats
authorAndy Spencer <andy753421@gmail.com>
Wed, 16 Dec 2015 05:29:12 +0000 (05:29 +0000)
committerAndy Spencer <andy753421@gmail.com>
Wed, 16 Dec 2015 05:29:39 +0000 (05:29 +0000)
- Add current turn latency
- Improve log parsing

spades.awk

index 062f87df696b03920838f8b609192dc6c8c790b7..08f2776277aebd4cf895d10c44df417e09e91c62 100644 (file)
@@ -415,7 +415,12 @@ function sp_avg(list,    i, sum)
        return sum / length(list)
 }
 
-function sp_stats(file,   line, arr, time, user, turn, start, delay)
+function sp_cur(list)
+{
+       return list[length(list)-1]
+}
+
+function sp_stats(file,   line, arr, time, user, turn, start, delay, extra)
 {
        # Process log file
        while ((stat = getline line < file) > 0) {
@@ -435,22 +440,30 @@ function sp_stats(file,   line, arr, time, user, turn, start, delay)
                        delay[turn][length(delay[turn])] = time - start
                        turn  = 0
                }
-               if (match(arr[2], /^it is your.*$/, arr)) {
+               if (match(arr[2], /^(it is your|you .*(first|lead)!$)/, arr)) {
                        turn  = user
                        start = time
                }
        }
        close(file)
 
+       # Add current latency
+       if (turn) {
+               delay[turn][length(delay[turn])] = systime() - start
+               debug("time: " (systime() - start))
+       }
+
        # Check for error
        if (stat < 0)
                reply("File does not exist: " file);
 
        # Output statistics
        for (user in delay) {
+               extra = (user != turn) ? "" : \
+                       ", " sp_delay(sp_cur(delay[user])) " (cur)";
                say("latency for " user \
                        ": " sp_delay(sp_avg(delay[user])) " (avg)" \
-                       ", " sp_delay(sp_max(delay[user])) " (max)")
+                       ", " sp_delay(sp_max(delay[user])) " (max)" extra)
        }
 }