From: Jens Axboe Date: Wed, 26 Sep 2012 12:11:49 +0000 (+0200) Subject: gfio: clear graphs for repeated runs on same connection X-Git-Tag: fio-2.1~57^2~48 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=5721d270285a5f7e41b0b076a4a43b825239d964 gfio: clear graphs for repeated runs on same connection Otherwise we get overlapping data. Signed-off-by: Jens Axboe --- diff --git a/gfio.c b/gfio.c index 31389416..185dbd5c 100644 --- a/gfio.c +++ b/gfio.c @@ -654,6 +654,12 @@ static void gfio_client_added(struct gui_entry *ge, struct fio_client *client) gc->o_list_nr++; } +static void gfio_clear_graph_data(struct gfio_graphs *g) +{ + graph_clear_values(g->iops_graph); + graph_clear_values(g->bandwidth_graph); +} + static void connect_clicked(GtkWidget *widget, gpointer data) { struct gui_entry *ge = data; @@ -694,6 +700,7 @@ static void connect_clicked(GtkWidget *widget, gpointer data) if (!ge->ui->handler_running) pthread_create(&ge->ui->t, NULL, job_thread, ge->ui); gfio_set_state(ge, GE_STATE_CONNECTED); + gfio_clear_graph_data(&ge->graphs); } else { gfio_report_error(ge, "Failed to connect to %s: %s\n", ge->client->client->hostname, strerror(-ret)); } diff --git a/graph.c b/graph.c index 7a35736b..7a7c7925 100644 --- a/graph.c +++ b/graph.c @@ -853,6 +853,17 @@ static void graph_free_labels(struct graph *g) } } +void graph_clear_values(struct graph *g) +{ + struct flist_head *node; + struct graph_label *i; + + flist_for_each(node, &g->label_list) { + i = flist_entry(node, struct graph_label, list); + graph_free_values(i); + } +} + void graph_set_color(struct graph *gr, graph_label_t label, double red, double green, double blue) { diff --git a/graph.h b/graph.h index 42f781ff..078e50ce 100644 --- a/graph.h +++ b/graph.h @@ -93,5 +93,7 @@ extern int graph_contains_xy(struct graph *p, int x, int y); extern void graph_set_base_offset(struct graph *g, unsigned int base_offset); extern void graph_set_graph_all_zeroes(struct graph *g, unsigned int set); +extern void graph_clear_values(struct graph *g); + #endif