aboutsummaryrefslogtreecommitdiff
path: root/src/ats-tests/perf_ats_logging.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-09-18 13:27:45 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-09-18 13:27:45 +0000
commita94bcd89e2a7980dd9de9b17d3395002951240e5 (patch)
treebca3812a1f86261a76f631535b1b5ebb6f389234 /src/ats-tests/perf_ats_logging.c
parent01d5d427999d38d883defeb4855ce5f8ac7e540f (diff)
downloadgnunet-a94bcd89e2a7980dd9de9b17d3395002951240e5.tar.gz
gnunet-a94bcd89e2a7980dd9de9b17d3395002951240e5.zip
collecting log functionality
mv structs to perf_ats header
Diffstat (limited to 'src/ats-tests/perf_ats_logging.c')
-rw-r--r--src/ats-tests/perf_ats_logging.c65
1 files changed, 63 insertions, 2 deletions
diff --git a/src/ats-tests/perf_ats_logging.c b/src/ats-tests/perf_ats_logging.c
index 9cdccf54b..1864e0180 100644
--- a/src/ats-tests/perf_ats_logging.c
+++ b/src/ats-tests/perf_ats_logging.c
@@ -25,18 +25,79 @@
25 */ 25 */
26#include "platform.h" 26#include "platform.h"
27#include "gnunet_util_lib.h" 27#include "gnunet_util_lib.h"
28#include "perf_ats.h"
29
30#define LOGGING_FREQUENCY GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 500)
31
32static GNUNET_SCHEDULER_TaskIdentifier log_task;
33
34static struct BenchmarkPeer *peers;
35static int num_peers;
36
37static void
38write_to_file ()
39{
40
41}
42
43static void
44collect_log_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
45{
46 int c_m;
47 int c_s;
48 log_task = GNUNET_SCHEDULER_NO_TASK;
49
50 struct BenchmarkPeer *m;
51 struct BenchmarkPartner *p;
52
53 for (c_m = 0; c_m < num_peers; c_m++)
54 {
55 m = &peers[c_m];
56 for (c_s = 0; c_s < m->num_partners; c_s++)
57 {
58 p = &peers[c_m].partners[c_s];
59 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
60 "Master [%u]: slave [%u]\n",
61 m->no, p->dest->no);
62 }
63 }
64
65 if (tc->reason == GNUNET_SCHEDULER_REASON_SHUTDOWN)
66 return;
67
68 log_task = GNUNET_SCHEDULER_add_delayed (LOGGING_FREQUENCY,
69 &collect_log_task, NULL);
70}
71
28 72
29void 73void
30perf_logging_stop () 74perf_logging_stop ()
31{ 75{
76 struct GNUNET_SCHEDULER_TaskContext tc;
77
78 if (GNUNET_SCHEDULER_NO_TASK != log_task)
79 GNUNET_SCHEDULER_cancel (log_task);
80 log_task = GNUNET_SCHEDULER_NO_TASK;
81 tc.reason = GNUNET_SCHEDULER_REASON_SHUTDOWN;
82 collect_log_task (NULL, &tc);
83
32 GNUNET_log(GNUNET_ERROR_TYPE_INFO, 84 GNUNET_log(GNUNET_ERROR_TYPE_INFO,
33 _("Start logging\n")); 85 _("Stop logging\n"));
86
87 write_to_file ();
34} 88}
35 89
36void 90void
37perf_logging_start () 91perf_logging_start (struct BenchmarkPeer *masters, int num_masters)
38{ 92{
39 GNUNET_log(GNUNET_ERROR_TYPE_INFO, 93 GNUNET_log(GNUNET_ERROR_TYPE_INFO,
40 _("Start logging\n")); 94 _("Start logging\n"));
95
96 peers = masters;
97 num_peers = num_masters;
98
99 /* Schedule logging task */
100 log_task = GNUNET_SCHEDULER_add_now (&collect_log_task, NULL);
41} 101}
42/* end of file perf_ats_logging.c */ 102/* end of file perf_ats_logging.c */
103