X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=gclient.c;h=4955ad4717bfceb6cfff76c81d2cb808210b34a6;hp=c77ef14aa55d1a9d62a4695c4e376526ee7b38e9;hb=40c605169e60d32fc321a2f9f465e76cba745489;hpb=b6ab6a31f82cf498da9da08ce83f7b12160203fe diff --git a/gclient.c b/gclient.c index c77ef14a..4955ad47 100644 --- a/gclient.c +++ b/gclient.c @@ -12,6 +12,7 @@ #include "gerror.h" #include "graph.h" #include "gclient.h" +#include "printing.h" static void gfio_display_ts(struct fio_client *client, struct thread_stat *ts, struct group_run_stats *rs); @@ -33,9 +34,17 @@ static void results_close(GtkWidget *w, gpointer *data) gtk_widget_destroy(ge->results_window); } +static void results_print(GtkWidget *w, gpointer *data) +{ + struct gui_entry *ge = (struct gui_entry *) data; + + gfio_print_results(ge); +} + static GtkActionEntry results_menu_items[] = { { "FileMenuAction", GTK_STOCK_FILE, "File", NULL, NULL, NULL}, { "GraphMenuAction", GTK_STOCK_FILE, "Graph", NULL, NULL, NULL}, + { "PrintFile", GTK_STOCK_PRINT, "Print", "P", NULL, G_CALLBACK(results_print) }, { "CloseFile", GTK_STOCK_CLOSE, "Close", "W", NULL, G_CALLBACK(results_close) }, }; static gint results_nmenu_items = sizeof(results_menu_items) / sizeof(results_menu_items[0]); @@ -44,6 +53,7 @@ static const gchar *results_ui_string = " \ \ \ \ + \ \ \ \ @@ -122,7 +132,7 @@ static void gfio_text_op(struct fio_client *client, struct fio_net_cmd *cmd) gtk_list_store_append(ui->log_model, &iter); gtk_list_store_set(ui->log_model, &iter, 0, timebuf, -1); gtk_list_store_set(ui->log_model, &iter, 1, client->hostname, -1); - gtk_list_store_set(ui->log_model, &iter, 2, p->level, -1); + gtk_list_store_set(ui->log_model, &iter, 2, log_get_level(p->level), -1); gtk_list_store_set(ui->log_model, &iter, 3, p->buf, -1); if (p->level == FIO_LOG_ERR) @@ -416,7 +426,7 @@ static void gfio_update_client_eta(struct fio_client *client, struct jobs_eta *j sprintf(dst, " - %s", eta_str); } - + gfio_update_thread_status(ge, output, perc); gdk_threads_leave(); } @@ -504,7 +514,7 @@ static void gfio_update_all_eta(struct jobs_eta *je) sprintf(dst, " - %s", eta_str); } - + gfio_update_thread_status_all(ui, output, perc); gdk_threads_leave(); } @@ -610,6 +620,15 @@ static void gfio_add_job_op(struct fio_client *client, struct fio_net_cmd *cmd) gdk_threads_leave(); } +static void gfio_update_job_op(struct fio_client *client, + struct fio_net_cmd *cmd) +{ + uint32_t *pdu_error = (uint32_t *) cmd->payload; + struct gfio_client *gc = client->client_data; + + *pdu_error = le32_to_cpu(*pdu_error); +} + static void gfio_client_timed_out(struct fio_client *client) { struct gfio_client *gc = client->client_data; @@ -953,7 +972,7 @@ static void gfio_show_latency_buckets(struct gfio_client *gc, GtkWidget *vbox, */ if (start == -1U) return; - + tree_view = gfio_output_lat_buckets(&io_u_lat[start], &ranges[start], end - start + 1); ge->lat_bucket_graph = setup_lat_bucket_graph("Latency Buckets", &io_u_lat[start], &ranges[start], end - start + 1, 700.0, 300.0); @@ -970,7 +989,7 @@ static void gfio_show_latency_buckets(struct gfio_client *gc, GtkWidget *vbox, gtk_widget_modify_bg(drawing_area, GTK_STATE_NORMAL, &gfio_color_white); gtk_container_add(GTK_CONTAINER(completion_vbox), drawing_area); g_signal_connect(G_OBJECT(drawing_area), GFIO_DRAW_EVENT, G_CALLBACK(on_expose_lat_drawing_area), ge->lat_bucket_graph); - g_signal_connect(G_OBJECT(drawing_area), "configure_event", G_CALLBACK(on_config_lat_drawing_area), ge->lat_bucket_graph); + g_signal_connect(G_OBJECT(drawing_area), "configure_event", G_CALLBACK(on_config_lat_drawing_area), ge->lat_bucket_graph); gtk_box_pack_start(GTK_BOX(hbox), tree_view, TRUE, TRUE, 3); } @@ -1353,6 +1372,7 @@ struct client_ops gfio_client_ops = { .probe = gfio_probe_op, .quit = gfio_quit_op, .add_job = gfio_add_job_op, + .update_job = gfio_update_job_op, .timed_out = gfio_client_timed_out, .stop = gfio_client_stop, .start = gfio_client_start,