diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2014-01-30 10:45:13 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2014-01-30 10:45:13 +0000 |
commit | 7067d8df58abce4636ff94cd3621aee9de1ab594 (patch) | |
tree | 3632705ab7d0b30b791c240ef05eca74fa624597 /src/ats-tests/ats-testing-log.c | |
parent | daf74c08914b5dbec07848207262eff933a5f180 (diff) | |
download | gnunet-7067d8df58abce4636ff94cd3621aee9de1ab594.tar.gz gnunet-7067d8df58abce4636ff94cd3621aee9de1ab594.zip |
writign plots
Diffstat (limited to 'src/ats-tests/ats-testing-log.c')
-rw-r--r-- | src/ats-tests/ats-testing-log.c | 59 |
1 files changed, 39 insertions, 20 deletions
diff --git a/src/ats-tests/ats-testing-log.c b/src/ats-tests/ats-testing-log.c index 17b3ab450..3d689e7b2 100644 --- a/src/ats-tests/ats-testing-log.c +++ b/src/ats-tests/ats-testing-log.c | |||
@@ -258,6 +258,9 @@ write_throughput_gnuplot_script (char * fn, struct LoggingPeer *lp) | |||
258 | int peer_index; | 258 | int peer_index; |
259 | 259 | ||
260 | GNUNET_asprintf (&gfn, "gnuplot_throughput_%s",fn); | 260 | GNUNET_asprintf (&gfn, "gnuplot_throughput_%s",fn); |
261 | fprintf (stderr, "Writing throughput plot for master %u to `%s'\n", | ||
262 | lp->peer->no, gfn); | ||
263 | |||
261 | f = GNUNET_DISK_file_open (gfn, | 264 | f = GNUNET_DISK_file_open (gfn, |
262 | GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE, | 265 | GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE, |
263 | GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ | | 266 | GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ | |
@@ -328,6 +331,9 @@ write_rtt_gnuplot_script (char * fn, struct LoggingPeer *lp) | |||
328 | int index; | 331 | int index; |
329 | 332 | ||
330 | GNUNET_asprintf (&gfn, "gnuplot_rtt_%s",fn); | 333 | GNUNET_asprintf (&gfn, "gnuplot_rtt_%s",fn); |
334 | fprintf (stderr, "Writing rtt plot for master %u to `%s'\n", | ||
335 | lp->peer->no, gfn); | ||
336 | |||
331 | f = GNUNET_DISK_file_open (gfn, | 337 | f = GNUNET_DISK_file_open (gfn, |
332 | GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE, | 338 | GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE, |
333 | GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ | | 339 | GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ | |
@@ -374,6 +380,9 @@ write_bw_gnuplot_script (char * fn, struct LoggingPeer *lp) | |||
374 | int index; | 380 | int index; |
375 | 381 | ||
376 | GNUNET_asprintf (&gfn, "gnuplot_bw_%s",fn); | 382 | GNUNET_asprintf (&gfn, "gnuplot_bw_%s",fn); |
383 | fprintf (stderr, "Writing bandwidth plot for master %u to `%s'\n", | ||
384 | lp->peer->no, gfn); | ||
385 | |||
377 | f = GNUNET_DISK_file_open (gfn, | 386 | f = GNUNET_DISK_file_open (gfn, |
378 | GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE, | 387 | GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE, |
379 | GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ | | 388 | GNUNET_DISK_PERM_USER_EXEC | GNUNET_DISK_PERM_USER_READ | |
@@ -386,7 +395,6 @@ write_bw_gnuplot_script (char * fn, struct LoggingPeer *lp) | |||
386 | } | 395 | } |
387 | 396 | ||
388 | /* Write header */ | 397 | /* Write header */ |
389 | |||
390 | if (GNUNET_SYSERR == GNUNET_DISK_file_write(f, BW_TEMPLATE, strlen(BW_TEMPLATE))) | 398 | if (GNUNET_SYSERR == GNUNET_DISK_file_write(f, BW_TEMPLATE, strlen(BW_TEMPLATE))) |
391 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 399 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
392 | "Cannot write data to plot file `%s'\n", gfn); | 400 | "Cannot write data to plot file `%s'\n", gfn); |
@@ -417,11 +425,12 @@ write_bw_gnuplot_script (char * fn, struct LoggingPeer *lp) | |||
417 | 425 | ||
418 | 426 | ||
419 | void | 427 | void |
420 | GNUNET_ATS_TEST_logging_write_to_file (struct LoggingHandle *l, char *test_name) | 428 | GNUNET_ATS_TEST_logging_write_to_file (struct LoggingHandle *l, |
429 | char *experiment_name, int plots) | ||
421 | { | 430 | { |
422 | struct GNUNET_DISK_FileHandle *f; | 431 | struct GNUNET_DISK_FileHandle *f; |
423 | 432 | char *tmp_exp_name; | |
424 | char * filename; | 433 | char *filename_data; |
425 | char *data; | 434 | char *data; |
426 | char *slave_string; | 435 | char *slave_string; |
427 | char *slave_string_tmp; | 436 | char *slave_string_tmp; |
@@ -431,32 +440,39 @@ GNUNET_ATS_TEST_logging_write_to_file (struct LoggingHandle *l, char *test_name) | |||
431 | int c_m; | 440 | int c_m; |
432 | int c_s; | 441 | int c_s; |
433 | 442 | ||
443 | |||
434 | timestamp = GNUNET_TIME_absolute_get(); | 444 | timestamp = GNUNET_TIME_absolute_get(); |
435 | 445 | ||
446 | tmp_exp_name = experiment_name; | ||
447 | if (NULL != strchr (experiment_name, '/')); | ||
448 | { | ||
449 | tmp_exp_name = strchr (experiment_name, '/'); | ||
450 | tmp_exp_name++; | ||
451 | } | ||
452 | |||
436 | for (c_m = 0; c_m < l->num_peers; c_m++) | 453 | for (c_m = 0; c_m < l->num_peers; c_m++) |
437 | { | 454 | { |
438 | GNUNET_asprintf (&filename, "%s_%llu_master_%u_%s_%s.data", test_name, | 455 | GNUNET_asprintf (&filename_data, "%s_%llu_master_%u_%s_%s.data", tmp_exp_name, |
439 | timestamp.abs_value_us, | 456 | timestamp.abs_value_us, |
440 | l->lp[c_m].peer->no, GNUNET_i2s(&l->lp[c_m].peer->id), l->name); | 457 | l->lp[c_m].peer->no, GNUNET_i2s(&l->lp[c_m].peer->id), l->name); |
441 | 458 | ||
442 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Writing master %u to file `%s'\n", | 459 | fprintf (stderr, "Writing master %u to file `%s'\n", c_m, filename_data); |
443 | c_m, filename); | ||
444 | 460 | ||
445 | f = GNUNET_DISK_file_open (filename, | 461 | f = GNUNET_DISK_file_open (filename_data, |
446 | GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE, | 462 | GNUNET_DISK_OPEN_WRITE | GNUNET_DISK_OPEN_CREATE, |
447 | GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE); | 463 | GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE); |
448 | if (NULL == f) | 464 | if (NULL == f) |
449 | { | 465 | { |
450 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot open log file `%s'\n", filename); | 466 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot open log file `%s'\n", filename_data); |
451 | GNUNET_free (filename); | 467 | GNUNET_free (filename_data); |
452 | return; | 468 | return; |
453 | } | 469 | } |
454 | 470 | ||
455 | GNUNET_asprintf (&data, "# master peers: %u ; slave peers: %u ; experiment : %s\n", | 471 | GNUNET_asprintf (&data, "# master peers: %u ; slave peers: %u ; experiment : %s\n", |
456 | l->num_peers, l->lp[c_m].peer->num_partners, test_name); | 472 | l->num_peers, l->lp[c_m].peer->num_partners, experiment_name); |
457 | if (GNUNET_SYSERR == GNUNET_DISK_file_write(f, data, strlen(data))) | 473 | if (GNUNET_SYSERR == GNUNET_DISK_file_write(f, data, strlen(data))) |
458 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 474 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
459 | "Cannot write data to log file `%s'\n", filename); | 475 | "Cannot write data to log file `%s'\n", filename_data); |
460 | GNUNET_free (data); | 476 | GNUNET_free (data); |
461 | 477 | ||
462 | for (cur_lt = l->lp[c_m].head; NULL != cur_lt; cur_lt = cur_lt->next) | 478 | for (cur_lt = l->lp[c_m].head; NULL != cur_lt; cur_lt = cur_lt->next) |
@@ -534,24 +550,27 @@ GNUNET_ATS_TEST_logging_write_to_file (struct LoggingHandle *l, char *test_name) | |||
534 | 550 | ||
535 | if (GNUNET_SYSERR == GNUNET_DISK_file_write(f, data, strlen(data))) | 551 | if (GNUNET_SYSERR == GNUNET_DISK_file_write(f, data, strlen(data))) |
536 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 552 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
537 | "Cannot write data to log file `%s'\n", filename); | 553 | "Cannot write data to log file `%s'\n", filename_data); |
538 | GNUNET_free (data); | 554 | GNUNET_free (data); |
539 | } | 555 | } |
540 | if (GNUNET_SYSERR == GNUNET_DISK_file_close(f)) | 556 | if (GNUNET_SYSERR == GNUNET_DISK_file_close(f)) |
541 | { | 557 | { |
542 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 558 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
543 | "Cannot close log file `%s'\n", filename); | 559 | "Cannot close log file `%s'\n", filename_data); |
544 | GNUNET_free (filename); | 560 | GNUNET_free (filename_data); |
545 | return; | 561 | return; |
546 | } | 562 | } |
547 | 563 | ||
548 | write_throughput_gnuplot_script (filename, l->lp); | 564 | if (GNUNET_YES == plots) |
549 | write_rtt_gnuplot_script (filename, l->lp); | 565 | { |
550 | write_bw_gnuplot_script (filename, l->lp); | 566 | write_throughput_gnuplot_script (filename_data, &l->lp[c_m]); |
567 | write_rtt_gnuplot_script (filename_data, &l->lp[c_m]); | ||
568 | write_bw_gnuplot_script (filename_data, &l->lp[c_m]); | ||
569 | } | ||
551 | 570 | ||
552 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 571 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
553 | "Data file successfully written to log file `%s'\n", filename); | 572 | "Data file successfully written to log file `%s'\n", filename_data); |
554 | GNUNET_free (filename); | 573 | GNUNET_free (filename_data); |
555 | } | 574 | } |
556 | } | 575 | } |
557 | 576 | ||