diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-09-18 13:27:45 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-09-18 13:27:45 +0000 |
commit | a94bcd89e2a7980dd9de9b17d3395002951240e5 (patch) | |
tree | bca3812a1f86261a76f631535b1b5ebb6f389234 /src/ats-tests/perf_ats_logging.c | |
parent | 01d5d427999d38d883defeb4855ce5f8ac7e540f (diff) | |
download | gnunet-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.c | 65 |
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 | |||
32 | static GNUNET_SCHEDULER_TaskIdentifier log_task; | ||
33 | |||
34 | static struct BenchmarkPeer *peers; | ||
35 | static int num_peers; | ||
36 | |||
37 | static void | ||
38 | write_to_file () | ||
39 | { | ||
40 | |||
41 | } | ||
42 | |||
43 | static void | ||
44 | collect_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 | ||
29 | void | 73 | void |
30 | perf_logging_stop () | 74 | perf_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 | ||
36 | void | 90 | void |
37 | perf_logging_start () | 91 | perf_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 | |||