changing defaults to not fail on pi bot: less slaves, longer timeout
[oweals/gnunet.git] / src / ats-tests / perf_ats.h
index b8e0f1eb78ab2055ee328713902f4a711913cb9b..983d30dd60cd44359407a6f7f21728f7982c2dbb 100644 (file)
 #include "gnunet_ats_service.h"
 #include "gnunet_core_service.h"
 
-#define TEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
-#define BENCHMARK_DURATION GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5)
+#define TEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 120)
+#define BENCHMARK_DURATION GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
+#define LOGGING_FREQUENCY GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 500)
 #define TESTNAME_PREFIX "perf_ats_"
-#define DEFAULT_SLAVES_NUM 3
+#define DEFAULT_SLAVES_NUM 2
 #define DEFAULT_MASTERS_NUM 1
 
 #define TEST_ATS_PREFRENCE_FREQUENCY GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1)
@@ -69,6 +70,16 @@ struct BenchmarkPartner
    */
   struct GNUNET_TRANSPORT_TransmitHandle *tth;
 
+  /**
+   * Timestamp to calculate communication layer delay
+   */
+  struct GNUNET_TIME_Absolute last_message_sent;
+
+  /**
+   * Accumulated RTT for all messages
+   */
+  unsigned int total_app_rtt;
+
   /**
    * Number of messages sent to this partner
    */
@@ -88,6 +99,28 @@ struct BenchmarkPartner
    * Number of bytes received from this partner
    */
   unsigned int bytes_received;
+
+  /* Current ATS properties */
+
+  uint32_t ats_distance;
+
+  uint32_t ats_delay;
+
+  uint32_t bandwidth_in;
+
+  uint32_t bandwidth_out;
+
+  uint32_t ats_utilization_up;
+
+  uint32_t ats_utilization_down;
+
+  uint32_t ats_network_type;
+
+  uint32_t ats_cost_wan;
+
+  uint32_t ats_cost_lan;
+
+  uint32_t ats_cost_wlan;
 };
 
 
@@ -214,11 +247,15 @@ struct BenchmarkPeer
 };
 
 
+void
+collect_log_now (void);
+
 void
 perf_logging_stop ();
 
 void
-perf_logging_start (struct BenchmarkPeer *masters, int num_masters);
+perf_logging_start (struct GNUNET_TIME_Relative log_frequency,
+    char * testname, struct BenchmarkPeer *masters, int num_masters);
 
 
 /* end of file perf_ats.h */