fix
[oweals/gnunet.git] / src / datacache / perf_datacache.c
index 904238f851f868f576f1b261ac2a78aeb58571ef..fe42f3f0fdaddd51bfa6875fa56666f07a9f56a8 100644 (file)
@@ -25,6 +25,7 @@
 #include "platform.h"
 #include "gnunet_util_lib.h"
 #include "gnunet_datacache_lib.h"
+#include <gauger.h>
 
 #define VERBOSE GNUNET_NO
 
@@ -59,7 +60,6 @@ checkIt (void *cls,
 
 static void
 run (void *cls,
-     struct GNUNET_SCHEDULER_Handle *sched,
      char *const *args,
      const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
@@ -70,10 +70,10 @@ run (void *cls,
   struct GNUNET_TIME_Absolute exp;
   struct GNUNET_TIME_Absolute start;
   unsigned int i;
+  char gstr[128];
   
   ok = 0;
-  h = GNUNET_DATACACHE_create (sched,
-                              cfg,
+  h = GNUNET_DATACACHE_create (cfg,
                               "perfcache");
 
   if (h == NULL)
@@ -103,6 +103,11 @@ run (void *cls,
   fprintf (stdout, "Stored %u items in %llums\n",
           ITERATIONS,
           (unsigned long long) GNUNET_TIME_absolute_get_duration(start).rel_value);
+  GNUNET_snprintf (gstr, sizeof (gstr),
+                  "Time to PUT %u items in %s-datacache",
+                  ITERATIONS,
+                  plugin_name);
+  GAUGER ("DATACACHE", gstr, GNUNET_TIME_absolute_get_duration(start).rel_value, "ms");
   start = GNUNET_TIME_absolute_get ();
   memset (&k, 0, sizeof (GNUNET_HashCode));
   for (i = 0; i < ITERATIONS; i++)
@@ -119,6 +124,11 @@ run (void *cls,
           found, ITERATIONS,
           (unsigned long long) GNUNET_TIME_absolute_get_duration(start).rel_value,
           ITERATIONS - found);
+  GNUNET_snprintf (gstr, sizeof (gstr),
+                  "Time to try to GET %u items from %s-datacache",
+                  ITERATIONS,
+                  plugin_name);
+  GAUGER ("DATACACHE", gstr, GNUNET_TIME_absolute_get_duration(start).rel_value, "ms");
           
   GNUNET_DATACACHE_destroy (h);
   ASSERT (ok == 0);
@@ -133,7 +143,7 @@ FAILURE:
 int
 main (int argc, char *argv[])
 {
-  const char *pos;
+  char *pos;
   char cfg_name[128];
   char *const xargv[] = { 
     "perf-datacache",
@@ -159,10 +169,17 @@ main (int argc, char *argv[])
   plugin_name = argv[0];
   while (NULL != (pos = strstr(plugin_name, "_")))
     plugin_name = pos+1;
+  if (NULL != (pos = strstr(plugin_name, ".")))
+    pos[0] = 0;
+  else
+    pos = (char *) plugin_name;
+  
   GNUNET_snprintf (cfg_name,
                   sizeof (cfg_name),
                   "perf_datacache_data_%s.conf",
                   plugin_name);
+  if (pos != plugin_name)
+    pos[0] = '.';
   GNUNET_PROGRAM_run ((sizeof (xargv) / sizeof (char *)) - 1,
                       xargv, "perf-datacache", "nohelp",
                       options, &run, NULL);