]> git.pond.sub.org Git - empserver/commitdiff
Log update's CPU use (user and system time)
authorMarkus Armbruster <armbru@pond.sub.org>
Wed, 16 Mar 2011 17:24:58 +0000 (18:24 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Mon, 11 Apr 2011 20:29:12 +0000 (22:29 +0200)
src/lib/update/main.c

index 60547d2a4b246d17219caa9b579f5aa2ac3493a3..7a656be1e5eed7dd01dda41beaab9d5d9327da42 100644 (file)
@@ -36,6 +36,7 @@
 
 #include <config.h>
 
+#include <sys/resource.h>
 #include "budg.h"
 #include "empthread.h"
 #include "game.h"
@@ -56,6 +57,7 @@ void
 update_main(void)
 {
     int etu = etu_per_update;
+    struct rusage rus1, rus2;
     int n;
     int i;
     struct bp *bp;
@@ -63,6 +65,7 @@ update_main(void)
     struct natstr *np;
 
     logerror("production update (%d etus)", etu);
+    getrusage(RUSAGE_SELF, &rus1);
     game_record_update(time(NULL));
     journal_update(etu);
 
@@ -154,5 +157,10 @@ update_main(void)
     /* Clear all the telegram flags */
     for (cn = 0; cn < MAXNOC; cn++)
        clear_telegram_is_new(cn);
-    logerror("End update");
+    getrusage(RUSAGE_SELF, &rus2);
+    logerror("End update %g user %g system",
+            rus2.ru_utime.tv_sec + rus2.ru_utime.tv_usec / 1e6
+            - (rus1.ru_utime.tv_sec + rus1.ru_utime.tv_usec / 1e6),
+            rus2.ru_stime.tv_sec + rus2.ru_stime.tv_usec / 1e6
+            - (rus1.ru_stime.tv_sec + rus1.ru_stime.tv_usec / 1e6));
 }