Skip to content

Commit

Permalink
gfio: add trim UI support
Browse files Browse the repository at this point in the history
Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
axboe committed Sep 24, 2012
1 parent 298921d commit 5442cfb
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 6 deletions.
19 changes: 13 additions & 6 deletions gclient.c
Expand Up @@ -388,8 +388,9 @@ static void gfio_update_client_eta(struct fio_client *client, struct jobs_eta *j
#endif

if (je->eta_sec != INT_MAX && je->nr_running) {
char *iops_str[2];
char *rate_str[2];
char *iops_str[DDIR_RWDIR_CNT];
char *rate_str[DDIR_RWDIR_CNT];
int i;

if ((!je->eta_sec && !eta_good) || je->nr_ramp == je->nr_running)
strcpy(output, "-.-% done");
Expand All @@ -401,24 +402,30 @@ static void gfio_update_client_eta(struct fio_client *client, struct jobs_eta *j

rate_str[0] = num2str(je->rate[0], 5, 10, i2p);
rate_str[1] = num2str(je->rate[1], 5, 10, i2p);
rate_str[2] = num2str(je->rate[2], 5, 10, i2p);

iops_str[0] = num2str(je->iops[0], 4, 1, 0);
iops_str[1] = num2str(je->iops[1], 4, 1, 0);
iops_str[2] = num2str(je->iops[2], 4, 1, 0);

gtk_entry_set_text(GTK_ENTRY(ge->eta.read_bw), rate_str[0]);
gtk_entry_set_text(GTK_ENTRY(ge->eta.read_iops), iops_str[0]);
gtk_entry_set_text(GTK_ENTRY(ge->eta.write_bw), rate_str[1]);
gtk_entry_set_text(GTK_ENTRY(ge->eta.write_iops), iops_str[1]);
gtk_entry_set_text(GTK_ENTRY(ge->eta.trim_bw), rate_str[2]);
gtk_entry_set_text(GTK_ENTRY(ge->eta.trim_iops), iops_str[2]);

graph_add_xy_data(ge->graphs.iops_graph, ge->graphs.read_iops, je->elapsed_sec, je->iops[0], iops_str[0]);
graph_add_xy_data(ge->graphs.iops_graph, ge->graphs.write_iops, je->elapsed_sec, je->iops[1], iops_str[1]);
graph_add_xy_data(ge->graphs.iops_graph, ge->graphs.trim_iops, je->elapsed_sec, je->iops[2], iops_str[2]);
graph_add_xy_data(ge->graphs.bandwidth_graph, ge->graphs.read_bw, je->elapsed_sec, je->rate[0], rate_str[0]);
graph_add_xy_data(ge->graphs.bandwidth_graph, ge->graphs.write_bw, je->elapsed_sec, je->rate[1], rate_str[1]);
graph_add_xy_data(ge->graphs.bandwidth_graph, ge->graphs.trim_bw, je->elapsed_sec, je->rate[2], rate_str[2]);

free(rate_str[0]);
free(rate_str[1]);
free(iops_str[0]);
free(iops_str[1]);
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
free(rate_str[i]);
free(iops_str[i]);
}
}

if (eta_str[0]) {
Expand Down
9 changes: 9 additions & 0 deletions gfio.c
Expand Up @@ -85,8 +85,10 @@ static void setup_iops_graph(struct gfio_graphs *gg)
graph_x_title(g, "Time (secs)");
gg->read_iops = graph_add_label(g, "Read IOPS");
gg->write_iops = graph_add_label(g, "Write IOPS");
gg->trim_iops = graph_add_label(g, "Trim IOPS");
graph_set_color(g, gg->read_iops, 0.13, 0.54, 0.13);
graph_set_color(g, gg->write_iops, 1.0, 0.0, 0.0);
graph_set_color(g, gg->trim_iops, 0.24, 0.18, 0.52);
line_graph_set_data_count_limit(g, gfio_graph_limit);
graph_add_extra_space(g, 0.0, 0.0, 0.0, 0.0);
graph_set_graph_all_zeroes(g, 0);
Expand All @@ -102,8 +104,10 @@ static void setup_bandwidth_graph(struct gfio_graphs *gg)
graph_x_title(g, "Time (secs)");
gg->read_bw = graph_add_label(g, "Read Bandwidth");
gg->write_bw = graph_add_label(g, "Write Bandwidth");
gg->trim_bw = graph_add_label(g, "Trim Bandwidth");
graph_set_color(g, gg->read_bw, 0.13, 0.54, 0.13);
graph_set_color(g, gg->write_bw, 1.0, 0.0, 0.0);
graph_set_color(g, gg->trim_bw, 0.24, 0.18, 0.52);
graph_set_base_offset(g, 1);
line_graph_set_data_count_limit(g, 100);
graph_add_extra_space(g, 0.0, 0.0, 0.0, 0.0);
Expand Down Expand Up @@ -1385,6 +1389,8 @@ static GtkWidget *new_client_page(struct gui_entry *ge)
ge->eta.read_iops = new_info_entry_in_frame(probe_box, "IOPS");
ge->eta.write_bw = new_info_entry_in_frame(probe_box, "Write BW");
ge->eta.write_iops = new_info_entry_in_frame(probe_box, "IOPS");
ge->eta.trim_bw = new_info_entry_in_frame(probe_box, "Trim BW");
ge->eta.trim_iops = new_info_entry_in_frame(probe_box, "IOPS");

/*
* Only add this if we have a commit rate
Expand Down Expand Up @@ -1471,6 +1477,9 @@ static GtkWidget *new_main_page(struct gui *ui)
ui->eta.read_iops = new_info_entry_in_frame(probe_box, "IOPS");
ui->eta.write_bw = new_info_entry_in_frame(probe_box, "Write BW");
ui->eta.write_iops = new_info_entry_in_frame(probe_box, "IOPS");
ui->eta.trim_bw = new_info_entry_in_frame(probe_box, "Trim BW");
ui->eta.trim_iops = new_info_entry_in_frame(probe_box, "IOPS");


/*
* Only add this if we have a commit rate
Expand Down
4 changes: 4 additions & 0 deletions gfio.h
Expand Up @@ -32,6 +32,8 @@ struct eta_widget {
GtkWidget *write_iops;
GtkWidget *cw_bw;
GtkWidget *cw_iops;
GtkWidget *trim_bw;
GtkWidget *trim_iops;
};

struct gfio_graphs {
Expand All @@ -41,9 +43,11 @@ struct gfio_graphs {
struct graph *iops_graph;
graph_label_t read_iops;
graph_label_t write_iops;
graph_label_t trim_iops;
struct graph *bandwidth_graph;
graph_label_t read_bw;
graph_label_t write_bw;
graph_label_t trim_bw;
};

/*
Expand Down

0 comments on commit 5442cfb

Please sign in to comment.