diff options
author | Julius Bünger <buenger@mytum.de> | 2019-03-20 00:22:12 +0100 |
---|---|---|
committer | Julius Bünger <buenger@mytum.de> | 2019-03-20 00:23:13 +0100 |
commit | c631834fae2abb517c70d23c856c68114e79f96d (patch) | |
tree | 9b0d847f6e95dbd589e011a238dc1aa98cf9ca12 /src/rps | |
parent | d4db1cde70b0791229ff2704262e53e94e7c0dad (diff) | |
download | gnunet-c631834fae2abb517c70d23c856c68114e79f96d.tar.gz gnunet-c631834fae2abb517c70d23c856c68114e79f96d.zip |
RPS Profiler: Keep track of push to single vs. multi-hop peer
Diffstat (limited to 'src/rps')
-rw-r--r-- | src/rps/gnunet-rps-profiler.c | 76 | ||||
-rw-r--r-- | src/rps/gnunet-service-rps.c | 18 |
2 files changed, 67 insertions, 27 deletions
diff --git a/src/rps/gnunet-rps-profiler.c b/src/rps/gnunet-rps-profiler.c index 9aa786334..af27546f2 100644 --- a/src/rps/gnunet-rps-profiler.c +++ b/src/rps/gnunet-rps-profiler.c | |||
@@ -84,29 +84,31 @@ enum STAT_TYPE | |||
84 | STAT_TYPE_BLOCKS_MANY_PUSH_NO_PULL, /* 5 */ | 84 | STAT_TYPE_BLOCKS_MANY_PUSH_NO_PULL, /* 5 */ |
85 | STAT_TYPE_BLOCKS_NO_PUSH_NO_PULL, /* 6 */ | 85 | STAT_TYPE_BLOCKS_NO_PUSH_NO_PULL, /* 6 */ |
86 | STAT_TYPE_ISSUED_PUSH_SEND, /* 7 */ | 86 | STAT_TYPE_ISSUED_PUSH_SEND, /* 7 */ |
87 | STAT_TYPE_ISSUED_PULL_REQ, /* 8 */ | 87 | STAT_TYPE_ISSUED_PUSH_SEND_MH, /* 8 */ |
88 | STAT_TYPE_ISSUED_PULL_REQ_MH, /* 9 */ | 88 | STAT_TYPE_ISSUED_PULL_REQ, /* 9 */ |
89 | STAT_TYPE_ISSUED_PULL_REP, /* 10 */ | 89 | STAT_TYPE_ISSUED_PULL_REQ_MH, /* 10 */ |
90 | STAT_TYPE_SENT_PUSH_SEND, /* 11 */ | 90 | STAT_TYPE_ISSUED_PULL_REP, /* 11 */ |
91 | STAT_TYPE_SENT_PULL_REQ, /* 12 */ | 91 | STAT_TYPE_SENT_PUSH_SEND, /* 12 */ |
92 | STAT_TYPE_SENT_PULL_REQ_MH, /* 13 */ | 92 | STAT_TYPE_SENT_PULL_REQ, /* 13 */ |
93 | STAT_TYPE_SENT_PULL_REP, /* 14 */ | 93 | STAT_TYPE_SENT_PULL_REQ_MH, /* 14 */ |
94 | STAT_TYPE_RECV_PUSH_SEND, /* 15 */ | 94 | STAT_TYPE_SENT_PULL_REP, /* 15 */ |
95 | STAT_TYPE_RECV_PULL_REQ, /* 16 */ | 95 | STAT_TYPE_RECV_PUSH_SEND, /* 16 */ |
96 | STAT_TYPE_RECV_PULL_REQ_MH, /* 17 */ | 96 | STAT_TYPE_RECV_PUSH_SEND_MH, /* 17 */ |
97 | STAT_TYPE_RECV_PULL_REP, /* 18 */ | 97 | STAT_TYPE_RECV_PULL_REQ, /* 18 */ |
98 | STAT_TYPE_RECV_PULL_REP_MH, /* 19 */ | 98 | STAT_TYPE_RECV_PULL_REQ_MH, /* 19 */ |
99 | STAT_TYPE_VIEW_SIZE, /* 20 */ | 99 | STAT_TYPE_RECV_PULL_REP, /* 20 */ |
100 | STAT_TYPE_KNOWN_PEERS, /* 21 */ | 100 | STAT_TYPE_RECV_PULL_REP_MH, /* 21 */ |
101 | STAT_TYPE_VALID_PEERS, /* 22 */ | 101 | STAT_TYPE_VIEW_SIZE, /* 22 */ |
102 | STAT_TYPE_LEARND_PEERS, /* 23 */ | 102 | STAT_TYPE_KNOWN_PEERS, /* 23 */ |
103 | STAT_TYPE_PENDING_ONLINE_CHECKS, /* 24 */ | 103 | STAT_TYPE_VALID_PEERS, /* 24 */ |
104 | STAT_TYPE_UNREQUESTED_PULL_REPLIES, /* 25 */ | 104 | STAT_TYPE_LEARND_PEERS, /* 25 */ |
105 | STAT_TYPE_PEERS_IN_PUSH_MAP, /* 26 */ | 105 | STAT_TYPE_PENDING_ONLINE_CHECKS, /* 26 */ |
106 | STAT_TYPE_PEERS_IN_PULL_MAP, /* 27 */ | 106 | STAT_TYPE_UNREQUESTED_PULL_REPLIES, /* 27 */ |
107 | STAT_TYPE_PEERS_IN_VIEW, /* 28 */ | 107 | STAT_TYPE_PEERS_IN_PUSH_MAP, /* 28 */ |
108 | STAT_TYPE_VIEW_SIZE_AIM, /* 29 */ | 108 | STAT_TYPE_PEERS_IN_PULL_MAP, /* 29 */ |
109 | STAT_TYPE_MAX, /* 30 */ | 109 | STAT_TYPE_PEERS_IN_VIEW, /* 30 */ |
110 | STAT_TYPE_VIEW_SIZE_AIM, /* 31 */ | ||
111 | STAT_TYPE_MAX, /* 32 */ | ||
110 | }; | 112 | }; |
111 | 113 | ||
112 | static char* stat_type_strings[] = { | 114 | static char* stat_type_strings[] = { |
@@ -118,6 +120,7 @@ static char* stat_type_strings[] = { | |||
118 | "# rounds blocked - too many pushes, no pull replies", | 120 | "# rounds blocked - too many pushes, no pull replies", |
119 | "# rounds blocked - no pushes, no pull replies", | 121 | "# rounds blocked - no pushes, no pull replies", |
120 | "# push send issued", | 122 | "# push send issued", |
123 | "# push send issued (multi-hop peer)", | ||
121 | "# pull request send issued", | 124 | "# pull request send issued", |
122 | "# pull request send issued (multi-hop peer)", | 125 | "# pull request send issued (multi-hop peer)", |
123 | "# pull reply send issued", | 126 | "# pull reply send issued", |
@@ -126,6 +129,7 @@ static char* stat_type_strings[] = { | |||
126 | "# pull requests sent (multi-hop peer)", | 129 | "# pull requests sent (multi-hop peer)", |
127 | "# pull replys sent", | 130 | "# pull replys sent", |
128 | "# push message received", | 131 | "# push message received", |
132 | "# push message received (multi-hop peer)", | ||
129 | "# pull request message received", | 133 | "# pull request message received", |
130 | "# pull request message received (multi-hop peer)", | 134 | "# pull request message received (multi-hop peer)", |
131 | "# pull reply messages received", | 135 | "# pull reply messages received", |
@@ -206,6 +210,12 @@ enum STAT_TYPE stat_str_2_type (const char *stat_str) | |||
206 | { | 210 | { |
207 | return STAT_TYPE_ISSUED_PUSH_SEND; | 211 | return STAT_TYPE_ISSUED_PUSH_SEND; |
208 | } | 212 | } |
213 | else if (0 == strncmp (stat_type_strings[STAT_TYPE_ISSUED_PUSH_SEND_MH], | ||
214 | stat_str, | ||
215 | strlen (stat_type_strings[STAT_TYPE_ISSUED_PUSH_SEND_MH]))) | ||
216 | { | ||
217 | return STAT_TYPE_ISSUED_PUSH_SEND_MH; | ||
218 | } | ||
209 | else if (0 == strncmp (stat_type_strings[STAT_TYPE_ISSUED_PULL_REQ], | 219 | else if (0 == strncmp (stat_type_strings[STAT_TYPE_ISSUED_PULL_REQ], |
210 | stat_str, | 220 | stat_str, |
211 | strlen (stat_type_strings[STAT_TYPE_ISSUED_PULL_REQ]))) | 221 | strlen (stat_type_strings[STAT_TYPE_ISSUED_PULL_REQ]))) |
@@ -254,6 +264,12 @@ enum STAT_TYPE stat_str_2_type (const char *stat_str) | |||
254 | { | 264 | { |
255 | return STAT_TYPE_RECV_PUSH_SEND; | 265 | return STAT_TYPE_RECV_PUSH_SEND; |
256 | } | 266 | } |
267 | else if (0 == strncmp (stat_type_strings[STAT_TYPE_RECV_PUSH_SEND_MH], | ||
268 | stat_str, | ||
269 | strlen (stat_type_strings[STAT_TYPE_RECV_PUSH_SEND_MH]))) | ||
270 | { | ||
271 | return STAT_TYPE_RECV_PUSH_SEND_MH; | ||
272 | } | ||
257 | else if (0 == strncmp (stat_type_strings[STAT_TYPE_RECV_PULL_REQ], | 273 | else if (0 == strncmp (stat_type_strings[STAT_TYPE_RECV_PULL_REQ], |
258 | stat_str, | 274 | stat_str, |
259 | strlen (stat_type_strings[STAT_TYPE_RECV_PULL_REQ]))) | 275 | strlen (stat_type_strings[STAT_TYPE_RECV_PULL_REQ]))) |
@@ -2461,9 +2477,9 @@ void write_final_stats (void){ | |||
2461 | "%s, %" /* id */ | 2477 | "%s, %" /* id */ |
2462 | PRIu64 ", %" /* rounds */ | 2478 | PRIu64 ", %" /* rounds */ |
2463 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* blocking */ | 2479 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* blocking */ |
2464 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* issued */ | 2480 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* issued */ |
2465 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* sent */ | 2481 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* sent */ |
2466 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* recv */ | 2482 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* recv */ |
2467 | PRIu64 ", %" /* view size */ | 2483 | PRIu64 ", %" /* view size */ |
2468 | PRIu64 ", %" /* known peers */ | 2484 | PRIu64 ", %" /* known peers */ |
2469 | PRIu64 ", %" /* valid peers */ | 2485 | PRIu64 ", %" /* valid peers */ |
@@ -2484,6 +2500,7 @@ void write_final_stats (void){ | |||
2484 | rps_peers[i].stats[STAT_TYPE_BLOCKS_MANY_PUSH_NO_PULL], | 2500 | rps_peers[i].stats[STAT_TYPE_BLOCKS_MANY_PUSH_NO_PULL], |
2485 | rps_peers[i].stats[STAT_TYPE_BLOCKS_NO_PUSH_NO_PULL], | 2501 | rps_peers[i].stats[STAT_TYPE_BLOCKS_NO_PUSH_NO_PULL], |
2486 | rps_peers[i].stats[STAT_TYPE_ISSUED_PUSH_SEND], | 2502 | rps_peers[i].stats[STAT_TYPE_ISSUED_PUSH_SEND], |
2503 | rps_peers[i].stats[STAT_TYPE_ISSUED_PUSH_SEND_MH], | ||
2487 | rps_peers[i].stats[STAT_TYPE_ISSUED_PULL_REQ], | 2504 | rps_peers[i].stats[STAT_TYPE_ISSUED_PULL_REQ], |
2488 | rps_peers[i].stats[STAT_TYPE_ISSUED_PULL_REQ_MH], | 2505 | rps_peers[i].stats[STAT_TYPE_ISSUED_PULL_REQ_MH], |
2489 | rps_peers[i].stats[STAT_TYPE_ISSUED_PULL_REP], | 2506 | rps_peers[i].stats[STAT_TYPE_ISSUED_PULL_REP], |
@@ -2492,6 +2509,7 @@ void write_final_stats (void){ | |||
2492 | rps_peers[i].stats[STAT_TYPE_SENT_PULL_REQ_MH], | 2509 | rps_peers[i].stats[STAT_TYPE_SENT_PULL_REQ_MH], |
2493 | rps_peers[i].stats[STAT_TYPE_SENT_PULL_REP], | 2510 | rps_peers[i].stats[STAT_TYPE_SENT_PULL_REP], |
2494 | rps_peers[i].stats[STAT_TYPE_RECV_PUSH_SEND], | 2511 | rps_peers[i].stats[STAT_TYPE_RECV_PUSH_SEND], |
2512 | rps_peers[i].stats[STAT_TYPE_RECV_PUSH_SEND_MH], | ||
2495 | rps_peers[i].stats[STAT_TYPE_RECV_PULL_REQ], | 2513 | rps_peers[i].stats[STAT_TYPE_RECV_PULL_REQ], |
2496 | rps_peers[i].stats[STAT_TYPE_RECV_PULL_REQ_MH], | 2514 | rps_peers[i].stats[STAT_TYPE_RECV_PULL_REQ_MH], |
2497 | rps_peers[i].stats[STAT_TYPE_RECV_PULL_REP_MH], | 2515 | rps_peers[i].stats[STAT_TYPE_RECV_PULL_REP_MH], |
@@ -2517,9 +2535,9 @@ void write_final_stats (void){ | |||
2517 | "SUM %" | 2535 | "SUM %" |
2518 | PRIu64 " %" /* rounds */ | 2536 | PRIu64 " %" /* rounds */ |
2519 | PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" /* blocking */ | 2537 | PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" /* blocking */ |
2520 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* issued */ | 2538 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* issued */ |
2521 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* sent */ | 2539 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* sent */ |
2522 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* recv */ | 2540 | PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" /* recv */ |
2523 | PRIu64 ", %" /* view size */ | 2541 | PRIu64 ", %" /* view size */ |
2524 | PRIu64 ", %" /* known peers */ | 2542 | PRIu64 ", %" /* known peers */ |
2525 | PRIu64 ", %" /* valid peers */ | 2543 | PRIu64 ", %" /* valid peers */ |
@@ -2538,6 +2556,7 @@ void write_final_stats (void){ | |||
2538 | sums[STAT_TYPE_BLOCKS_MANY_PUSH_NO_PULL], | 2556 | sums[STAT_TYPE_BLOCKS_MANY_PUSH_NO_PULL], |
2539 | sums[STAT_TYPE_BLOCKS_NO_PUSH_NO_PULL], | 2557 | sums[STAT_TYPE_BLOCKS_NO_PUSH_NO_PULL], |
2540 | sums[STAT_TYPE_ISSUED_PUSH_SEND], | 2558 | sums[STAT_TYPE_ISSUED_PUSH_SEND], |
2559 | sums[STAT_TYPE_ISSUED_PUSH_SEND_MH], | ||
2541 | sums[STAT_TYPE_ISSUED_PULL_REQ], | 2560 | sums[STAT_TYPE_ISSUED_PULL_REQ], |
2542 | sums[STAT_TYPE_ISSUED_PULL_REQ_MH], | 2561 | sums[STAT_TYPE_ISSUED_PULL_REQ_MH], |
2543 | sums[STAT_TYPE_ISSUED_PULL_REP], | 2562 | sums[STAT_TYPE_ISSUED_PULL_REP], |
@@ -2546,6 +2565,7 @@ void write_final_stats (void){ | |||
2546 | sums[STAT_TYPE_SENT_PULL_REQ_MH], | 2565 | sums[STAT_TYPE_SENT_PULL_REQ_MH], |
2547 | sums[STAT_TYPE_SENT_PULL_REP], | 2566 | sums[STAT_TYPE_SENT_PULL_REP], |
2548 | sums[STAT_TYPE_RECV_PUSH_SEND], | 2567 | sums[STAT_TYPE_RECV_PUSH_SEND], |
2568 | sums[STAT_TYPE_RECV_PUSH_SEND_MH], | ||
2549 | sums[STAT_TYPE_RECV_PULL_REQ], | 2569 | sums[STAT_TYPE_RECV_PULL_REQ], |
2550 | sums[STAT_TYPE_RECV_PULL_REQ_MH], | 2570 | sums[STAT_TYPE_RECV_PULL_REQ_MH], |
2551 | sums[STAT_TYPE_RECV_PULL_REP], | 2571 | sums[STAT_TYPE_RECV_PULL_REP], |
@@ -2855,6 +2875,7 @@ run (void *cls, | |||
2855 | BIT(STAT_TYPE_BLOCKS_MANY_PUSH_NO_PULL) | | 2875 | BIT(STAT_TYPE_BLOCKS_MANY_PUSH_NO_PULL) | |
2856 | BIT(STAT_TYPE_BLOCKS_NO_PUSH_NO_PULL) | | 2876 | BIT(STAT_TYPE_BLOCKS_NO_PUSH_NO_PULL) | |
2857 | BIT(STAT_TYPE_ISSUED_PUSH_SEND) | | 2877 | BIT(STAT_TYPE_ISSUED_PUSH_SEND) | |
2878 | BIT(STAT_TYPE_ISSUED_PUSH_SEND_MH) | | ||
2858 | BIT(STAT_TYPE_ISSUED_PULL_REQ) | | 2879 | BIT(STAT_TYPE_ISSUED_PULL_REQ) | |
2859 | BIT(STAT_TYPE_ISSUED_PULL_REQ_MH) | | 2880 | BIT(STAT_TYPE_ISSUED_PULL_REQ_MH) | |
2860 | BIT(STAT_TYPE_ISSUED_PULL_REP) | | 2881 | BIT(STAT_TYPE_ISSUED_PULL_REP) | |
@@ -2863,6 +2884,7 @@ run (void *cls, | |||
2863 | BIT(STAT_TYPE_SENT_PULL_REQ_MH) | | 2884 | BIT(STAT_TYPE_SENT_PULL_REQ_MH) | |
2864 | BIT(STAT_TYPE_SENT_PULL_REP) | | 2885 | BIT(STAT_TYPE_SENT_PULL_REP) | |
2865 | BIT(STAT_TYPE_RECV_PUSH_SEND) | | 2886 | BIT(STAT_TYPE_RECV_PUSH_SEND) | |
2887 | BIT(STAT_TYPE_RECV_PUSH_SEND_MH) | | ||
2866 | BIT(STAT_TYPE_RECV_PULL_REQ) | | 2888 | BIT(STAT_TYPE_RECV_PULL_REQ) | |
2867 | BIT(STAT_TYPE_RECV_PULL_REQ_MH) | | 2889 | BIT(STAT_TYPE_RECV_PULL_REQ_MH) | |
2868 | BIT(STAT_TYPE_RECV_PULL_REP) | | 2890 | BIT(STAT_TYPE_RECV_PULL_REP) | |
diff --git a/src/rps/gnunet-service-rps.c b/src/rps/gnunet-service-rps.c index 63d4c1865..1871ef006 100644 --- a/src/rps/gnunet-service-rps.c +++ b/src/rps/gnunet-service-rps.c | |||
@@ -3500,6 +3500,15 @@ handle_peer_push (void *cls, | |||
3500 | if (channel_ctx->peer_ctx->sub == msub) | 3500 | if (channel_ctx->peer_ctx->sub == msub) |
3501 | { | 3501 | { |
3502 | GNUNET_STATISTICS_update(stats, "# push message received", 1, GNUNET_NO); | 3502 | GNUNET_STATISTICS_update(stats, "# push message received", 1, GNUNET_NO); |
3503 | if (NULL != map_single_hop && | ||
3504 | GNUNET_NO == GNUNET_CONTAINER_multipeermap_contains (map_single_hop, | ||
3505 | peer)) | ||
3506 | { | ||
3507 | GNUNET_STATISTICS_update (stats, | ||
3508 | "# push message received (multi-hop peer)", | ||
3509 | 1, | ||
3510 | GNUNET_NO); | ||
3511 | } | ||
3503 | } | 3512 | } |
3504 | 3513 | ||
3505 | #if ENABLE_MALICIOUS | 3514 | #if ENABLE_MALICIOUS |
@@ -3881,6 +3890,15 @@ send_push (struct PeerContext *peer_ctx) | |||
3881 | "# push send issued", | 3890 | "# push send issued", |
3882 | 1, | 3891 | 1, |
3883 | GNUNET_NO); | 3892 | GNUNET_NO); |
3893 | if (NULL != map_single_hop && | ||
3894 | GNUNET_NO == GNUNET_CONTAINER_multipeermap_contains (map_single_hop, | ||
3895 | &peer_ctx->peer_id)) | ||
3896 | { | ||
3897 | GNUNET_STATISTICS_update (stats, | ||
3898 | "# push send issued (multi-hop peer)", | ||
3899 | 1, | ||
3900 | GNUNET_NO); | ||
3901 | } | ||
3884 | } | 3902 | } |
3885 | } | 3903 | } |
3886 | 3904 | ||