gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r34295 - gnunet/src/sensor


From: gnunet
Subject: [GNUnet-SVN] r34295 - gnunet/src/sensor
Date: Wed, 17 Sep 2014 21:28:17 +0200

Author: otarabai
Date: 2014-09-17 21:28:17 +0200 (Wed, 17 Sep 2014)
New Revision: 34295

Modified:
   gnunet/src/sensor/gnunet-sensor-profiler.c
   gnunet/src/sensor/gnunet-service-sensor_reporting.c
   gnunet/src/sensor/perf_pow_sign.c
   gnunet/src/sensor/plugin_sensor_model_gaussian.c
   gnunet/src/sensor/profiler.py
   gnunet/src/sensor/sensor_util_lib_crypto.c
   gnunet/src/sensor/test_gnunet-service-sensor_reporting.conf
   gnunet/src/sensor/test_pow_sign.c
Log:
sensor: minor fixes


Modified: gnunet/src/sensor/gnunet-sensor-profiler.c
===================================================================
--- gnunet/src/sensor/gnunet-sensor-profiler.c  2014-09-15 16:00:53 UTC (rev 
34294)
+++ gnunet/src/sensor/gnunet-sensor-profiler.c  2014-09-17 19:28:17 UTC (rev 
34295)
@@ -894,7 +894,7 @@
     {'t', "topology-file", "FILEPATH", gettext_noop ("Path to topology file"),
      GNUNET_YES, &GNUNET_GETOPT_set_filename, &topology_file},
     {'i', "sensors-interval", "INTERVAL",
-     gettext_noop ("Change the interval or running sensors to given value"),
+     gettext_noop ("Change the interval of running sensors to given value"),
      GNUNET_YES, &GNUNET_GETOPT_set_uint, &sensors_interval},
     GNUNET_GETOPT_OPTION_END
   };

Modified: gnunet/src/sensor/gnunet-service-sensor_reporting.c
===================================================================
--- gnunet/src/sensor/gnunet-service-sensor_reporting.c 2014-09-15 16:00:53 UTC 
(rev 34294)
+++ gnunet/src/sensor/gnunet-service-sensor_reporting.c 2014-09-17 19:28:17 UTC 
(rev 34295)
@@ -658,7 +658,10 @@
     return;
   }
   LOG (GNUNET_ERROR_TYPE_DEBUG, "Anomaly report POW block ready.\n");
-  ai->report_block = block;
+  ai->report_block =
+      GNUNET_memdup (block,
+                     sizeof (struct GNUNET_SENSOR_crypto_pow_block) +
+                     block->msg_size);
   ar_item = ai->reporting_queue_head;
   while (NULL != ar_item)
   {
@@ -706,9 +709,9 @@
   arm->anomalous = htons (ai->anomalous);
   arm->anomalous_neighbors =
       (0 ==
-       neighborhood) ? 0 : ((float)
-                            GNUNET_CONTAINER_multipeermap_size
-                            (ai->anomalous_neighbors)) / neighborhood;
+       neighborhood) ? 0 : ((float) GNUNET_CONTAINER_multipeermap_size (ai->
+                                                                        
anomalous_neighbors))
+      / neighborhood;
   timestamp = GNUNET_TIME_absolute_get ();
   ai->report_creation_cx =
       GNUNET_SENSOR_crypto_pow_sign (arm,
@@ -717,6 +720,7 @@
                                      &timestamp, &mypeerid.public_key,
                                      private_key, pow_matching_bits,
                                      &report_creation_cb, ai);
+  GNUNET_free (arm);
 }
 
 
@@ -800,8 +804,8 @@
   my_anomaly_info = get_anomaly_info_by_sensor (sensor);
   GNUNET_assert (NULL != my_anomaly_info);
   peer_in_anomalous_list =
-      GNUNET_CONTAINER_multipeermap_contains
-      (my_anomaly_info->anomalous_neighbors, other);
+      GNUNET_CONTAINER_multipeermap_contains (my_anomaly_info->
+                                              anomalous_neighbors, other);
   peer_anomalous = ntohs (arm->anomalous);
   LOG (GNUNET_ERROR_TYPE_DEBUG,
        "Received an anomaly update from neighbour `%s' (%d).\n",
@@ -820,8 +824,8 @@
     if (GNUNET_NO == peer_in_anomalous_list)    /* repeated negative report */
       GNUNET_break_op (0);
     else
-      GNUNET_CONTAINER_multipeermap_remove_all
-          (my_anomaly_info->anomalous_neighbors, other);
+      GNUNET_CONTAINER_multipeermap_remove_all (my_anomaly_info->
+                                                anomalous_neighbors, other);
   }
   /* This is important to create an updated block since the data changed */
   update_anomaly_report_pow_block (my_anomaly_info);

Modified: gnunet/src/sensor/perf_pow_sign.c
===================================================================
--- gnunet/src/sensor/perf_pow_sign.c   2014-09-15 16:00:53 UTC (rev 34294)
+++ gnunet/src/sensor/perf_pow_sign.c   2014-09-17 19:28:17 UTC (rev 34295)
@@ -46,7 +46,7 @@
 /**
  * How many matching bits to end with
  */
-#define MATCHING_BITS_END 50
+#define MATCHING_BITS_END 20
 
 /**
  * How many readings per matching bits value
@@ -106,7 +106,7 @@
 /**
  * Task creating pow block
  */
-struct GNUNET_SENSOR_crypto_pow_context *pow_task;
+static struct GNUNET_SENSOR_crypto_pow_context *pow_task;
 
 
 /**

Modified: gnunet/src/sensor/plugin_sensor_model_gaussian.c
===================================================================
--- gnunet/src/sensor/plugin_sensor_model_gaussian.c    2014-09-15 16:00:53 UTC 
(rev 34294)
+++ gnunet/src/sensor/plugin_sensor_model_gaussian.c    2014-09-17 19:28:17 UTC 
(rev 34295)
@@ -135,7 +135,6 @@
   if (stddev < 0)               /* Value can be slightly less than 0 due to 
rounding errors */
     stddev = 0;
   stddev = sqrt (stddev);
-  LOG (GNUNET_ERROR_TYPE_DEBUG, "Mean: %Lf, Stddev: %Lf\n", mean, stddev);
   allowed_variance = (plugin->confidence_interval * stddev);
   if ((val < (mean - allowed_variance)) || (val > (mean + allowed_variance)))
     return GNUNET_YES;

Modified: gnunet/src/sensor/profiler.py
===================================================================
--- gnunet/src/sensor/profiler.py       2014-09-15 16:00:53 UTC (rev 34294)
+++ gnunet/src/sensor/profiler.py       2014-09-17 19:28:17 UTC (rev 34295)
@@ -16,6 +16,9 @@
   parser = argparse.ArgumentParser(description="Sensor profiler")
   parser.add_argument('-p', '--peers', action='store', type=int, required=True,
                       help='Number of peers to run')
+  parser.add_argument('-i', '--sensors-interval', action='store', type=int,
+                      required=False,
+                      help='Change the interval of running sensors to given 
value')
   return parser.parse_args()
 
 def generate_topology(peers, links):
@@ -97,8 +100,13 @@
     anomaly_report(eval(parts[1]))
     return
 
-def run_profiler(peers, topology_file):
-  cmd = "GNUNET_FORCE_LOG='gnunet-sensor-profiler;;;;DEBUG' 
gnunet-sensor-profiler -p %d -t %s > log 2>&1" % (peers, topology_file)
+def run_profiler(peers, topology_file, sensors_interval):
+  cmd1 = "GNUNET_FORCE_LOG='gnunet-sensor-profiler;;;;DEBUG' 
gnunet-sensor-profiler -p %d -t %s" % (peers, topology_file)
+  if sensors_interval:
+    cmd1 += " -i %d" % sensors_interval
+  cmd2 = "> log 2>&1"
+  cmd = "%s %s" % (cmd1, cmd2)
+  print cmd
   process = Popen([cmd], shell=True)
   time.sleep(0.5)
   line = ''
@@ -118,7 +126,11 @@
   if num_peers < 3:
     print 'Min number of peers is 3'
     return
-  num_links = int(math.log(num_peers) * math.log(num_peers) * num_peers / 2)
+  sensors_interval = None
+  if 'sensors_interval' in args:
+    sensors_interval = args['sensors_interval']
+  #num_links = int(math.log(num_peers) * math.log(num_peers) * num_peers / 2)
+  num_links = int(math.log(num_peers) * num_peers)
   # Generate random topology
   generate_topology(num_peers, num_links)
   print 'Generated random topology with %d peers and %d links' % (num_peers, 
num_links)
@@ -127,7 +139,7 @@
   print 'Created TESTBED topology file %s' % top_file
   draw_graph()
   # Run c profiler
-  run_profiler(num_peers, top_file)
+  run_profiler(num_peers, top_file, sensors_interval)
   
 if __name__ == "__main__":
   main()

Modified: gnunet/src/sensor/sensor_util_lib_crypto.c
===================================================================
--- gnunet/src/sensor/sensor_util_lib_crypto.c  2014-09-15 16:00:53 UTC (rev 
34294)
+++ gnunet/src/sensor/sensor_util_lib_crypto.c  2014-09-17 19:28:17 UTC (rev 
34295)
@@ -148,12 +148,15 @@
   void *callback_cls;
   int sign_result;
 
+  if (0 == cx->pow % 1000)
+    LOG (GNUNET_ERROR_TYPE_DEBUG, "Checking pow %" PRIu64 ".\n", cx->pow);
   if (GNUNET_YES ==
       check_pow (&cx->timestamp,
                  sizeof (struct GNUNET_CRYPTO_EddsaPublicKey) +
                  sizeof (struct GNUNET_TIME_Absolute) + cx->msg_size, cx->pow,
                  cx->matching_bits))
   {
+    LOG (GNUNET_ERROR_TYPE_DEBUG, "Found pow %" PRIu64 ".\n", cx->pow);
     cx->calculate_pow_task = GNUNET_SCHEDULER_NO_TASK;
     result_block =
         GNUNET_malloc (sizeof (struct GNUNET_SENSOR_crypto_pow_block) +

Modified: gnunet/src/sensor/test_gnunet-service-sensor_reporting.conf
===================================================================
--- gnunet/src/sensor/test_gnunet-service-sensor_reporting.conf 2014-09-15 
16:00:53 UTC (rev 34294)
+++ gnunet/src/sensor/test_gnunet-service-sensor_reporting.conf 2014-09-17 
19:28:17 UTC (rev 34295)
@@ -5,6 +5,7 @@
 DEFAULTSERVICES = topology dht cadet
 
 [sensor]
+#PREFIX = valgrind --leak-check=full
 SENSOR_DIR = /tmp/test-gnunet-service-sensor-reporting/
 
 START_MONITORING = NO
@@ -12,6 +13,9 @@
 START_ANALYSIS = NO
 START_UPDATE = NO
 
+[sensor-reporting]
+POW_MATCHING_BITS = 2
+
 [transport]
 PLUGINS = unix
 

Modified: gnunet/src/sensor/test_pow_sign.c
===================================================================
--- gnunet/src/sensor/test_pow_sign.c   2014-09-15 16:00:53 UTC (rev 34294)
+++ gnunet/src/sensor/test_pow_sign.c   2014-09-17 19:28:17 UTC (rev 34295)
@@ -111,9 +111,15 @@
 pow_cb (void *cls, struct GNUNET_SENSOR_crypto_pow_block *block)
 {
   void *response;
+  struct GNUNET_TIME_Absolute end_time;
+  struct GNUNET_TIME_Relative duration;
 
+  end_time = GNUNET_TIME_absolute_get();
+  duration = GNUNET_TIME_absolute_get_difference (block->timestamp, end_time);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Received block:\n" "pow: %" PRIu64 ".\n", block->pow);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Block generation toke %s.\n",
+              GNUNET_STRINGS_relative_time_to_string (duration, GNUNET_NO));
   /* Test that the block is valid */
   GNUNET_assert (MSG_SIZE ==
                  GNUNET_SENSOR_crypto_verify_pow_sign (block, MATCHING_BITS,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]