X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=gfio.h;h=aa14e3c7d961108c7759bbe9449c2fbea7b65d57;hp=3b572041107c8e5c8cec3887fcb53ab5e9db64ee;hb=37fbd7e9dd4f041b858507b3db06753614083770;hpb=53e0e85d6d5311fce98b94c1e06fab8263bafc02 diff --git a/gfio.h b/gfio.h index 3b572041..aa14e3c7 100644 --- a/gfio.h +++ b/gfio.h @@ -3,6 +3,12 @@ #include +#include "gcompat.h" +#include "stat.h" +#include "thread_options.h" +#include "ghelpers.h" +#include "graph.h" + struct probe_widget { GtkWidget *hostname; GtkWidget *os; @@ -10,13 +16,6 @@ struct probe_widget { GtkWidget *fio_ver; }; -struct multitext_widget { - GtkWidget *entry; - char **text; - unsigned int cur_text; - unsigned int max_text; -}; - struct eta_widget { GtkWidget *names; struct multitext_widget iotype; @@ -33,6 +32,8 @@ struct eta_widget { GtkWidget *write_iops; GtkWidget *cw_bw; GtkWidget *cw_iops; + GtkWidget *trim_bw; + GtkWidget *trim_iops; }; struct gfio_graphs { @@ -40,7 +41,13 @@ struct gfio_graphs { #define DRAWING_AREA_YDIM 400 GtkWidget *drawing_area; 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; }; /* @@ -70,7 +77,7 @@ struct gui { pthread_t t; int handler_running; - struct flist_head list; + GHashTable *ge_hash; } main_ui; enum { @@ -93,7 +100,6 @@ enum { * Notebook entry */ struct gui_entry { - struct flist_head list; struct gui *ui; GtkWidget *vbox; @@ -123,8 +129,11 @@ struct gui_entry { struct graph *lat_bucket_graph; struct gfio_client *client; - int nr_job_files; - char **job_files; + char *job_file; + char *host; + int port; + int type; + int server_start; }; struct end_results { @@ -132,21 +141,39 @@ struct end_results { struct thread_stat ts; }; +struct gfio_client_options { + struct flist_head list; + struct thread_options o; +}; + struct gfio_client { struct gui_entry *ge; struct fio_client *client; GtkWidget *err_entry; - struct thread_options o; + uint32_t client_cpus; + uint64_t client_flags; + + struct flist_head o_list; + unsigned int o_list_nr; struct end_results *results; unsigned int nr_results; + uint32_t update_job_status; + volatile uint32_t update_job_done; + struct cmd_du_pdu *du; unsigned int nr_du; }; -#define ARRAYSIZE(x) (sizeof((x)) / (sizeof((x)[0]))) - #define GFIO_MIME "text/fio" +extern void gfio_view_log(struct gui *ui); +extern void gfio_set_state(struct gui_entry *ge, unsigned int state); +extern void clear_ge_ui_info(struct gui_entry *ge); + +extern const char *gfio_graph_font; +extern GdkColor gfio_color_white; +extern GdkColor gfio_color_lightyellow; + #endif