diff options
author | Julius Bünger <buenger@mytum.de> | 2018-03-21 07:56:51 +0100 |
---|---|---|
committer | Julius Bünger <buenger@mytum.de> | 2018-03-21 10:12:30 +0100 |
commit | 9d068580565b7ad49f5db5e3dae7b538f0f9bd5b (patch) | |
tree | 3727e33407c8e4457bf6808c05b5c6656f1c8bf4 /src/rps | |
parent | 29d419cdf833f2b2115250373c1a015f12a017e1 (diff) | |
download | gnunet-9d068580565b7ad49f5db5e3dae7b538f0f9bd5b.tar.gz gnunet-9d068580565b7ad49f5db5e3dae7b538f0f9bd5b.zip |
rps profiler: log view sizes
Diffstat (limited to 'src/rps')
-rw-r--r-- | src/rps/rps-test_util.c | 18 | ||||
-rw-r--r-- | src/rps/test_rps.c | 35 |
2 files changed, 48 insertions, 5 deletions
diff --git a/src/rps/rps-test_util.c b/src/rps/rps-test_util.c index 882f945c9..e492b76b7 100644 --- a/src/rps/rps-test_util.c +++ b/src/rps/rps-test_util.c | |||
@@ -43,6 +43,7 @@ to_file_ (char *file_name, char *line) | |||
43 | { | 43 | { |
44 | struct GNUNET_DISK_FileHandle *f; | 44 | struct GNUNET_DISK_FileHandle *f; |
45 | char output_buffer[512]; | 45 | char output_buffer[512]; |
46 | char *output_buffer_p; | ||
46 | //size_t size; | 47 | //size_t size; |
47 | int size; | 48 | int size; |
48 | size_t size2; | 49 | size_t size2; |
@@ -62,8 +63,14 @@ to_file_ (char *file_name, char *line) | |||
62 | file_name); | 63 | file_name); |
63 | return; | 64 | return; |
64 | } | 65 | } |
65 | size = GNUNET_snprintf (output_buffer, | 66 | if (512 < strlen (line) + 18) |
66 | sizeof (output_buffer), | 67 | { |
68 | output_buffer_p = GNUNET_malloc ((strlen (line) + 18) * sizeof (char)); | ||
69 | } else { | ||
70 | output_buffer_p = &output_buffer[0]; | ||
71 | } | ||
72 | size = GNUNET_snprintf (output_buffer_p, | ||
73 | sizeof (output_buffer_p), | ||
67 | "%llu %s\n", | 74 | "%llu %s\n", |
68 | GNUNET_TIME_absolute_get ().abs_value_us, | 75 | GNUNET_TIME_absolute_get ().abs_value_us, |
69 | line); | 76 | line); |
@@ -75,7 +82,7 @@ to_file_ (char *file_name, char *line) | |||
75 | return; | 82 | return; |
76 | } | 83 | } |
77 | 84 | ||
78 | size2 = GNUNET_DISK_file_write (f, output_buffer, size); | 85 | size2 = GNUNET_DISK_file_write (f, output_buffer_p, size); |
79 | if (size != size2) | 86 | if (size != size2) |
80 | { | 87 | { |
81 | LOG (GNUNET_ERROR_TYPE_WARNING, | 88 | LOG (GNUNET_ERROR_TYPE_WARNING, |
@@ -90,6 +97,11 @@ to_file_ (char *file_name, char *line) | |||
90 | return; | 97 | return; |
91 | } | 98 | } |
92 | 99 | ||
100 | if (512 < strlen (line) + 18) | ||
101 | { | ||
102 | GNUNET_free (output_buffer_p); | ||
103 | } | ||
104 | |||
93 | if (GNUNET_YES != GNUNET_DISK_file_close (f)) | 105 | if (GNUNET_YES != GNUNET_DISK_file_close (f)) |
94 | LOG (GNUNET_ERROR_TYPE_WARNING, | 106 | LOG (GNUNET_ERROR_TYPE_WARNING, |
95 | "Unable to close file\n"); | 107 | "Unable to close file\n"); |
diff --git a/src/rps/test_rps.c b/src/rps/test_rps.c index 127b973ac..d9f0a2c77 100644 --- a/src/rps/test_rps.c +++ b/src/rps/test_rps.c | |||
@@ -1878,9 +1878,40 @@ void compute_diversity () | |||
1878 | GNUNET_free (deviation); | 1878 | GNUNET_free (deviation); |
1879 | } | 1879 | } |
1880 | 1880 | ||
1881 | void all_views_updated_cb () | 1881 | void print_view_sizes() |
1882 | { | 1882 | { |
1883 | compute_diversity (); | 1883 | uint32_t i; |
1884 | char *view_sizes_str = NULL; | ||
1885 | uint32_t view_sizes_str_len = 0; | ||
1886 | char view_size_curr[32] = { 0 }; | ||
1887 | |||
1888 | GNUNET_array_grow (view_sizes_str, view_sizes_str_len, num_peers * 3); | ||
1889 | for (i = 0; i < num_peers; i++) /* Peer to count */ | ||
1890 | { | ||
1891 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1892 | "View size of %" PRIu32 ". [%s] is %" PRIu32 "\n", | ||
1893 | i, | ||
1894 | GNUNET_i2s (rps_peers[i].peer_id), | ||
1895 | rps_peers[i].cur_view_count); | ||
1896 | GNUNET_snprintf (view_size_curr, | ||
1897 | sizeof (view_size_curr), | ||
1898 | " %" PRIu32 "", | ||
1899 | rps_peers[i].cur_view_count); | ||
1900 | if (view_sizes_str_len < view_sizes_str_len + strlen (view_size_curr)) | ||
1901 | { | ||
1902 | GNUNET_array_grow (view_sizes_str, view_sizes_str_len, view_sizes_str_len + 10); | ||
1903 | } | ||
1904 | strncat (view_sizes_str, view_size_curr, strlen(view_size_curr)); | ||
1905 | } | ||
1906 | to_file_ ("/tmp/rps/view_sizes.txt", | ||
1907 | view_sizes_str); | ||
1908 | GNUNET_array_grow (view_sizes_str, view_sizes_str_len, 0); | ||
1909 | } | ||
1910 | |||
1911 | void all_views_updated_cb() | ||
1912 | { | ||
1913 | compute_diversity(); | ||
1914 | print_view_sizes(); | ||
1884 | } | 1915 | } |
1885 | 1916 | ||
1886 | void view_update_cb (void *cls, | 1917 | void view_update_cb (void *cls, |