static void profile_exportd_display() { time_t elapse; int days, hours, mins, secs; epp_profiler_t ep; if (ep_client_get_profiler(&profiler_client.ep, &ep) != 0) { perror("failed to to get monitor"); exit(EXIT_FAILURE); } elapse = (int) (ep.now - ep.uptime); days = (int) (elapse / 86400); hours = (int)((elapse / 3600) - (days * 24)); mins = (int)((elapse / 60) - (days * 1440) - (hours * 60)); secs = (int) (elapse % 60); fprintf(stdout, "rozofsmount: %s - uptime: %d days, %d:%d:%d\n", ep.vers, days, hours, mins, secs); fprintf(stdout, "%-25s %-12s %-12s %-12s %-12s %-12s\n", "OP", "CALL", "RATE(msg/s)", "CPU(us)", "COUNT(B)", "THROUGHPUT(MB/s)"); ep_display_probe(ep, ep_mount); ep_display_probe(ep, ep_umount); ep_display_probe(ep, ep_statfs); ep_display_probe(ep, ep_lookup); ep_display_probe(ep, ep_getattr); ep_display_probe(ep, ep_setattr); ep_display_probe(ep, ep_readlink); ep_display_probe(ep, ep_mknod); ep_display_probe(ep, ep_mkdir); ep_display_probe(ep, ep_unlink); ep_display_probe(ep, ep_rmdir); ep_display_probe(ep, ep_symlink); ep_display_probe(ep, ep_rename); ep_display_probe(ep, ep_readdir); ep_display_io_probe(ep, ep_read_block); ep_display_io_probe(ep, ep_write_block); ep_display_probe(ep, ep_link); ep_display_probe(ep, ep_setxattr); ep_display_probe(ep, ep_getxattr); ep_display_probe(ep, ep_removexattr); ep_display_probe(ep, ep_listxattr); ep_display_probe(ep, export_lv1_resolve_entry); ep_display_probe(ep, export_lv2_resolve_path); ep_display_probe(ep, export_lookup_fid); ep_display_probe(ep, export_update_files); ep_display_probe(ep, export_update_blocks); ep_display_probe(ep, export_stat); ep_display_probe(ep, export_lookup); ep_display_probe(ep, export_getattr); ep_display_probe(ep, export_setattr); ep_display_probe(ep, export_link); ep_display_probe(ep, export_mknod); ep_display_probe(ep, export_mkdir); ep_display_probe(ep, export_unlink); ep_display_probe(ep, export_rmdir); ep_display_probe(ep, export_symlink); ep_display_probe(ep, export_readlink); ep_display_probe(ep, export_rename); ep_display_probe(ep, export_read); ep_display_probe(ep, export_read_block); ep_display_probe(ep, export_write_block); ep_display_probe(ep, export_readdir); ep_display_probe(ep, export_setxattr); ep_display_probe(ep, export_getxattr); ep_display_probe(ep, export_removexattr); ep_display_probe(ep, export_listxattr); ep_display_probe(ep, lv2_cache_put); ep_display_probe(ep, lv2_cache_get); ep_display_probe(ep, lv2_cache_del); ep_display_probe(ep, volume_balance); ep_display_probe(ep, volume_distribute); ep_display_probe(ep, volume_stat); ep_display_probe(ep, mdir_open); ep_display_probe(ep, mdir_close); ep_display_probe(ep, mdir_read_attributes); ep_display_probe(ep, mdir_write_attributes); ep_display_probe(ep, mreg_open); ep_display_probe(ep, mreg_close); ep_display_probe(ep, mreg_read_attributes); ep_display_probe(ep, mreg_write_attributes); ep_display_probe(ep, mreg_read_dist); ep_display_probe(ep, mreg_write_dist); ep_display_probe(ep, mslnk_open); ep_display_probe(ep, mslnk_close); ep_display_probe(ep, mdir_close); ep_display_probe(ep, mslnk_read_attributes); ep_display_probe(ep, mslnk_read_link); ep_display_probe(ep, mslnk_write_link); }
static void profile_exportd_display() { time_t elapse; int days, hours, mins, secs, i, j; epp_profiler_t ep; if (ep_client_get_profiler(&profiler_client.ep, &ep) != 0) { perror("failed to to get monitor"); exit(EXIT_FAILURE); } elapse = (int) (ep.now - ep.uptime); days = (int) (elapse / 86400); hours = (int) ((elapse / 3600) - (days * 24)); mins = (int) ((elapse / 60) - (days * 1440) - (hours * 60)); secs = (int) (elapse % 60); fprintf(stdout, "exportd: %s - uptime: %d days, %d:%d:%d\n", ep.vers, days, hours, mins, secs); fprintf(stdout, "\nSTATS:\n"); fprintf(stdout, "------\n"); for (i = 0; i < ep.nb_volumes; i++) { fprintf(stdout, "VOLUME: %d - BSIZE: %d ,BFREE: %"PRIu64"\n", ep.vstats[i].vid, ep.vstats[i].bsize, ep.vstats[i].bfree); fprintf(stdout, "\n\t%-6s %-6s %-20s %-20s\n", "SID", "STATUS", "CAPACITY(B)", "FREE(B)"); for (j = 0; j < ep.vstats[i].nb_storages; j++) { fprintf(stdout, "\t%-6d %-6d %-20"PRIu64" %-20"PRIu64"\n", ep.vstats[i].sstats[j].sid, ep.vstats[i].sstats[j].status, ep.vstats[i].sstats[j].size, ep.vstats[i].sstats[j].free); } fprintf(stdout, "\n\t%-6s %-6s %-12s %-12s %-12s %-12s\n", "EID", "BSIZE", "BLOCKS", "BFREE", "FILES", "FFREE"); for (j = 0; j < ep.nb_exports; j++) { if (ep.estats[j].vid == ep.vstats[i].vid) fprintf(stdout, "\t%-6d %-6d %-12"PRIu64" %-12"PRIu64" %-12"PRIu64" %-12"PRIu64"\n", ep.estats[j].eid, ep.estats[j].bsize, ep.estats[j].blocks, ep.estats[j].bfree, ep.estats[j].files, ep.estats[j].ffree); } fprintf(stdout, "\n"); } fprintf(stdout, "PROFILING:\n"); fprintf(stdout, "----------\n"); fprintf(stdout, "%-25s %-12s %-12s %-12s %-12s %-12s\n", "OP", "CALL", "RATE(msg/s)", "CPU(us)", "COUNT(B)", "THROUGHPUT(MBps)"); ep_display_probe(ep, ep_mount); ep_display_probe(ep, ep_umount); ep_display_probe(ep, ep_statfs); ep_display_probe(ep, ep_lookup); ep_display_probe(ep, ep_getattr); ep_display_probe(ep, ep_setattr); ep_display_probe(ep, ep_readlink); ep_display_probe(ep, ep_mknod); ep_display_probe(ep, ep_mkdir); ep_display_probe(ep, ep_unlink); ep_display_probe(ep, ep_rmdir); ep_display_probe(ep, ep_symlink); ep_display_probe(ep, ep_rename); ep_display_probe(ep, ep_readdir); ep_display_io_probe(ep, ep_read_block); ep_display_io_probe(ep, ep_write_block); ep_display_probe(ep, ep_link); ep_display_probe(ep, ep_setxattr); ep_display_probe(ep, ep_getxattr); ep_display_probe(ep, ep_removexattr); ep_display_probe(ep, ep_listxattr); ep_display_probe(ep, export_lv1_resolve_entry); ep_display_probe(ep, export_lv2_resolve_path); ep_display_probe(ep, export_lookup_fid); ep_display_probe(ep, export_update_files); ep_display_probe(ep, export_update_blocks); ep_display_probe(ep, export_stat); ep_display_probe(ep, export_lookup); ep_display_probe(ep, export_getattr); ep_display_probe(ep, export_setattr); ep_display_probe(ep, export_link); ep_display_probe(ep, export_mknod); ep_display_probe(ep, export_mkdir); ep_display_probe(ep, export_unlink); ep_display_probe(ep, export_rmdir); ep_display_probe(ep, export_symlink); ep_display_probe(ep, export_readlink); ep_display_probe(ep, export_rename); ep_display_io_probe(ep, export_read); ep_display_probe(ep, export_read_block); ep_display_probe(ep, export_write_block); ep_display_probe(ep, export_readdir); ep_display_probe(ep, export_setxattr); ep_display_probe(ep, export_getxattr); ep_display_probe(ep, export_removexattr); ep_display_probe(ep, export_listxattr); ep_display_probe(ep, lv2_cache_put); ep_display_probe(ep, lv2_cache_get); ep_display_probe(ep, lv2_cache_del); ep_display_probe(ep, volume_balance); ep_display_probe(ep, volume_distribute); ep_display_probe(ep, volume_stat); ep_display_probe(ep, mdir_open); ep_display_probe(ep, mdir_close); ep_display_probe(ep, mdir_read_attributes); ep_display_probe(ep, mdir_write_attributes); ep_display_probe(ep, mreg_open); ep_display_probe(ep, mreg_close); ep_display_probe(ep, mreg_read_attributes); ep_display_probe(ep, mreg_write_attributes); ep_display_probe(ep, mreg_read_dist); ep_display_probe(ep, mreg_write_dist); ep_display_probe(ep, mslnk_open); ep_display_probe(ep, mslnk_close); ep_display_probe(ep, mdir_close); ep_display_probe(ep, mslnk_read_attributes); ep_display_probe(ep, mslnk_read_link); ep_display_probe(ep, mslnk_write_link); ep_display_probe(ep, get_mdirentry); ep_display_probe(ep, put_mdirentry); ep_display_probe(ep, del_mdirentry); ep_display_probe(ep, list_mdirentries); }