aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-09-19 11:02:56 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-09-19 11:02:56 +0000
commit38f8219826605a05286f1786a04183186d6578d0 (patch)
tree49f79e60ef215873b73af3f7ab88b634c6e110a5 /src
parent087783d2a3da65123b8aa339148f33978fa704df (diff)
downloadgnunet-38f8219826605a05286f1786a04183186d6578d0.tar.gz
gnunet-38f8219826605a05286f1786a04183186d6578d0.zip
basic gnuplot script creation
Diffstat (limited to 'src')
-rw-r--r--src/ats-tests/perf_ats_logging.c41
1 files changed, 40 insertions, 1 deletions
diff --git a/src/ats-tests/perf_ats_logging.c b/src/ats-tests/perf_ats_logging.c
index def466bfd..6dbf114eb 100644
--- a/src/ats-tests/perf_ats_logging.c
+++ b/src/ats-tests/perf_ats_logging.c
@@ -29,6 +29,11 @@
29 29
30#define LOGGING_FREQUENCY GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 500) 30#define LOGGING_FREQUENCY GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 500)
31 31
32#define template "#!/usr/bin/gnuplot \n" \
33"set datafile separator ';' \n" \
34"set title \"Throughput\" \n" \
35"set xlabel \"Time in ms\" \n" \
36"set ylabel \"Bytes/s\" \n"
32 37
33/** 38/**
34 * Logging task 39 * Logging task
@@ -153,6 +158,38 @@ static struct LoggingPeer *lp;
153 158
154 159
155static void 160static void
161write_gnuplot_script (char * fn, struct LoggingPeer *lp)
162{
163 char * gfn;
164 struct GNUNET_DISK_FileHandle *f;
165 GNUNET_asprintf (&gfn, "gnuplot_%s",fn);
166
167 f = GNUNET_DISK_file_open (gfn,
168 GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE,
169 GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE);
170 if (NULL == f)
171 {
172 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot open gnuplot file `%s'\n", gfn);
173 GNUNET_free (gfn);
174 return;
175 }
176
177 /* Write header */
178
179 if (GNUNET_SYSERR == GNUNET_DISK_file_write(f, template, strlen(template)))
180 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot write data to plot file `%s'\n", gfn);
181
182 /* Write data */
183
184
185
186 if (GNUNET_SYSERR == GNUNET_DISK_file_close(f))
187 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot close gnuplot file `%s'\n", gfn);
188
189 GNUNET_free (gfn);
190}
191
192static void
156write_to_file () 193write_to_file ()
157{ 194{
158 struct GNUNET_DISK_FileHandle *f; 195 struct GNUNET_DISK_FileHandle *f;
@@ -172,7 +209,7 @@ write_to_file ()
172 209
173 for (c_m = 0; c_m < num_peers; c_m++) 210 for (c_m = 0; c_m < num_peers; c_m++)
174 { 211 {
175 GNUNET_asprintf (&filename, "%llu_master_[%u]_%s _%s.data", GNUNET_TIME_absolute_get().abs_value_us, 212 GNUNET_asprintf (&filename, "%llu_master_[%u]_%s_%s.data", GNUNET_TIME_absolute_get().abs_value_us,
176 lp[c_m].peer->no, GNUNET_i2s(&lp[c_m].peer->id), name); 213 lp[c_m].peer->no, GNUNET_i2s(&lp[c_m].peer->id), name);
177 214
178 f = GNUNET_DISK_file_open (filename, 215 f = GNUNET_DISK_file_open (filename,
@@ -259,6 +296,8 @@ write_to_file ()
259 return; 296 return;
260 } 297 }
261 298
299 write_gnuplot_script (filename, lp);
300
262 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Data file successfully written to log file `%s'\n", filename); 301 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Data file successfully written to log file `%s'\n", filename);
263 GNUNET_free (filename); 302 GNUNET_free (filename);
264 } 303 }