static void _layout_resv_record(GtkTreeView *treeview, sview_resv_info_t *sview_resv_info, int update) { GtkTreeIter iter; char time_buf[20], power_buf[20]; reserve_info_t *resv_ptr = sview_resv_info->resv_ptr; char *temp_char = NULL; GtkTreeStore *treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_ACCOUNTS), resv_ptr->accounts); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_BURST_BUFFER), resv_ptr->burst_buffer); convert_num_unit((float)resv_ptr->core_cnt, time_buf, sizeof(time_buf), UNIT_NONE); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_CORE_CNT), time_buf); secs2time_str((uint32_t)difftime(resv_ptr->end_time, resv_ptr->start_time), time_buf, sizeof(time_buf)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_DURATION), time_buf); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_FEATURES), resv_ptr->features); temp_char = reservation_flags_string(resv_ptr->flags); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_FLAGS), temp_char); xfree(temp_char); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_LICENSES), resv_ptr->licenses); /* NOTE: node_cnt in reservation info from slurmctld ONE number */ convert_num_unit((float)resv_ptr->node_cnt, time_buf, sizeof(time_buf), UNIT_NONE); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_NODE_CNT), time_buf); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_NODELIST), resv_ptr->node_list); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_PARTITION), resv_ptr->partition); slurm_make_time_str((time_t *)&resv_ptr->end_time, time_buf, sizeof(time_buf)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_TIME_END), time_buf); slurm_make_time_str((time_t *)&resv_ptr->start_time, time_buf, sizeof(time_buf)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_TIME_START), time_buf); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_TRES), resv_ptr->tres_str); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_USERS), resv_ptr->users); if ((resv_ptr->resv_watts == NO_VAL) || (resv_ptr->resv_watts == 0)) { snprintf(power_buf, sizeof(power_buf), "0"); } else if ((resv_ptr->resv_watts % 1000000) == 0) { snprintf(power_buf, sizeof(power_buf), "%uM", resv_ptr->resv_watts / 1000000); } else if ((resv_ptr->resv_watts % 1000) == 0) { snprintf(power_buf, sizeof(power_buf), "%uK", resv_ptr->resv_watts / 1000); } else { snprintf(power_buf, sizeof(power_buf), "%u", resv_ptr->resv_watts); } add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_resv, SORTID_WATTS), power_buf); }
static void _layout_front_end_record(GtkTreeView *treeview, sview_front_end_info_t * sview_front_end_info, int update) { GtkTreeIter iter; front_end_info_t *front_end_ptr = sview_front_end_info->front_end_ptr; GtkTreeStore *treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); if (!treestore) return; add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_NAME), front_end_ptr->name); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_STATE), sview_front_end_info->state); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_BOOT_TIME), sview_front_end_info->boot_time); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_SLURMD_START_TIME), sview_front_end_info->slurmd_start_time); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_REASON), sview_front_end_info->reason); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_ALLOW_GROUPS), front_end_ptr->allow_groups); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_ALLOW_USERS), front_end_ptr->allow_users); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_DENY_GROUPS), front_end_ptr->deny_groups); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_DENY_USERS), front_end_ptr->deny_users); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_front_end, SORTID_VERSION), front_end_ptr->version); }
static void _layout_block_record(GtkTreeView *treeview, sview_block_info_t *block_ptr, int update) { char tmp_cnt[18], tmp_cnt2[18]; char *tmp_char = NULL; GtkTreeIter iter; GtkTreeStore *treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_NODELIST), block_ptr->mp_str); tmp_char = conn_type_string_full(block_ptr->bg_conn_type); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_CONN), tmp_char); xfree(tmp_char); if (cluster_flags & CLUSTER_FLAG_BGQ) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); } else if (cluster_flags & CLUSTER_FLAG_BGP) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGELINUX), block_ptr->imagelinux); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGERAMDISK), block_ptr->imageramdisk); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); } else if (cluster_flags & CLUSTER_FLAG_BGL) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEBLRTS), block_ptr->imageblrts); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGELINUX), block_ptr->imagelinux); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGERAMDISK), block_ptr->imageramdisk); } tmp_char = _set_running_job_str(block_ptr->job_list, 0); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_JOB), tmp_char); xfree(tmp_char); if (cluster_flags & CLUSTER_FLAG_BGL) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_USE), node_use_string( block_ptr->bg_node_use)); } convert_num_unit((float)block_ptr->cnode_cnt, tmp_cnt, sizeof(tmp_cnt), UNIT_NONE, NO_VAL, working_sview_config.convert_flags); if (cluster_flags & CLUSTER_FLAG_BGQ) { convert_num_unit((float)block_ptr->cnode_err_cnt, tmp_cnt2, sizeof(tmp_cnt2), UNIT_NONE, NO_VAL, working_sview_config.convert_flags); tmp_char = xstrdup_printf("%s/%s", tmp_cnt, tmp_cnt2); } else tmp_char = tmp_cnt; add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_NODE_CNT), tmp_char); if (cluster_flags & CLUSTER_FLAG_BGQ) xfree(tmp_char); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_PARTITION), block_ptr->slurm_part_name); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_STATE), bg_block_state_string(block_ptr->state)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_REASON), block_ptr->reason); }
/* Function creates the record menu when you double click on a record */ static void _layout_bb_record(GtkTreeView *treeview, sview_bb_info_t *sview_bb_info, int update) { GtkTreeIter iter; char time_buf[20], tmp_user_id[60], tmp_size[20]; char bb_name_id[32]; char *tmp_state, *tmp_user_name; burst_buffer_resv_t *bb_ptr = sview_bb_info->bb_ptr; GtkTreeStore *treestore; treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); if (bb_ptr->name) { strncpy(bb_name_id, bb_ptr->name, sizeof(bb_name_id)); } else if (bb_ptr->array_task_id == NO_VAL) { convert_num_unit(bb_ptr->job_id, bb_name_id, sizeof(bb_name_id), UNIT_NONE, working_sview_config.convert_flags); } else { snprintf(bb_name_id, sizeof(bb_name_id), "%u_%u(%u)", bb_ptr->array_job_id, bb_ptr->array_task_id, bb_ptr->job_id); } add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_NAME), bb_name_id); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_PLUGIN), sview_bb_info->plugin); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_ACCOUNT), bb_ptr->account); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_PARTITION), bb_ptr->partition); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_POOL), bb_ptr->pool); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_QOS), bb_ptr->qos); tmp_state = bb_state_string(bb_ptr->state); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_STATE), tmp_state); _get_size_str(tmp_size, sizeof(tmp_size), bb_ptr->size); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_SIZE), tmp_size); if (bb_ptr->create_time) { slurm_make_time_str((time_t *)&bb_ptr->create_time, time_buf, sizeof(time_buf)); } else { time_t now = time(NULL); slurm_make_time_str(&now, time_buf, sizeof(time_buf)); } add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_CREATE_TIME), time_buf); tmp_user_name = uid_to_string(bb_ptr->user_id); snprintf(tmp_user_id, sizeof(tmp_user_id), "%s(%u)", tmp_user_name, bb_ptr->user_id); xfree(tmp_user_name); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_bb, SORTID_USERID), tmp_user_id); }
static void _layout_block_record(GtkTreeView *treeview, sview_block_info_t *block_ptr, int update) { char tmp_cnt[18]; GtkTreeIter iter; GtkTreeStore *treestore = GTK_TREE_STORE(gtk_tree_view_get_model(treeview)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_NODELIST), block_ptr->mp_str); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_CONN), conn_type_string( block_ptr->bg_conn_type)); if (cluster_flags & CLUSTER_FLAG_BGL) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEBLRTS), block_ptr->imageblrts); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGELINUX), block_ptr->imagelinux); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGERAMDISK), block_ptr->imageramdisk); } else { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGELINUX), block_ptr->imagelinux); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGERAMDISK), block_ptr->imageramdisk); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_IMAGEMLOADER), block_ptr->imagemloader); } if (block_ptr->job_running > NO_JOB_RUNNING) snprintf(tmp_cnt, sizeof(tmp_cnt), "%d", block_ptr->job_running); else snprintf(tmp_cnt, sizeof(tmp_cnt), "-"); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_JOB), tmp_cnt); if (cluster_flags & CLUSTER_FLAG_BGL) { add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_USE), node_use_string( block_ptr->bg_node_use)); } convert_num_unit((float)block_ptr->cnode_cnt, tmp_cnt, sizeof(tmp_cnt), UNIT_NONE); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_MP_STR), tmp_cnt); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_PARTITION), block_ptr->slurm_part_name); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_STATE), bg_block_state_string(block_ptr->state)); add_display_treestore_line(update, treestore, &iter, find_col_name(display_data_block, SORTID_USER), block_ptr->bg_user_name); }