gauger
authorMatthias Wachs <wachs@net.in.tum.de>
Tue, 5 Apr 2011 09:17:52 +0000 (09:17 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Tue, 5 Apr 2011 09:17:52 +0000 (09:17 +0000)
src/transport/test_transport_ats.c

index bd4f1b3676a2e345756ca796d82f66976413aa67..75bad05fd3777d845d890c33de2fe2d11f0c588c 100644 (file)
@@ -24,6 +24,7 @@
 #include "platform.h"
 #include "gnunet_testing_lib.h"
 #include "gnunet_scheduler_lib.h"
+#include "gauger.h"
 
 #define VERBOSE GNUNET_NO
 
@@ -144,14 +145,32 @@ static void evaluate_measurements()
        int c;
        char * output = NULL;
        char * temp;
+       double average;
+       double stddev;
+       double measure = MEASUREMENTS;
        for (c=0; c<MEASUREMENTS;c++)
        {
+               average += (double) results[c].duration;
                GNUNET_asprintf(&temp, "%s ,%i,%llu,%llu,%llu,%llu,", (output==NULL) ? "" : output, c, results[c].peers, results[c].mechs, results[c].duration, results[c].solution);
                GNUNET_free_non_null (output);
                output = temp;
        }
-       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,"%s\n",output);
+       average /= measure;
 
+       for (c=0; c<MEASUREMENTS;c++)
+       {
+               stddev += (results[c].duration - average) * (results[c].duration - average);
+       }
+       stddev /= measure;
+       stddev = sqrt (stddev);
+
+       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,"%s,avg,%f,stddev,%f\n",output,average,stddev);
+       /* only log benchmark time for 10 peers */
+
+       if (results[c].peers == (10))
+       {
+               GAUGER ("TRANSPORT", "ATS execution time 10 peers", (int) average , "ms");
+       }
 
        shutdown_peers();
 }