|
|
@ -149,8 +149,8 @@ def get_bar(bar_ratio, max_len, color=False): |
|
|
|
|
|
|
|
return ''.join(res) |
|
|
|
|
|
|
|
def print_table_res(data_list): |
|
|
|
def print_line(line_type, width_list, spaces=[]): |
|
|
|
def get_table_res(data_list): |
|
|
|
def get_line(line_type, width_list, spaces=[]): |
|
|
|
assert line_type in ['up', 'middle', 'bottom'] |
|
|
|
|
|
|
|
str_list = [] |
|
|
@ -181,15 +181,18 @@ def print_table_res(data_list): |
|
|
|
else: |
|
|
|
str_list.append(table_icon['mid'][line_type]) |
|
|
|
|
|
|
|
print(''.join(str_list)) |
|
|
|
|
|
|
|
# print('TODO') |
|
|
|
print(time.strftime("%Y%m-%d%H:%M:%S", time.localtime(time.time()))) |
|
|
|
return ''.join(str_list) |
|
|
|
# print(''.join(str_list)) |
|
|
|
|
|
|
|
result_str = [] |
|
|
|
|
|
|
|
result_str.extend([time.strftime("%Y%m-%d%H:%M:%S", time.localtime(time.time())), '\n']) |
|
|
|
# print(time.strftime("%Y%m-%d%H:%M:%S", time.localtime(time.time()))) |
|
|
|
|
|
|
|
cell_width_list = [7, 20, 24, 15] |
|
|
|
len_last3 = cell_width_list[1] + cell_width_list[2] + cell_width_list[3] + 2 |
|
|
|
# 输出head ------------------------------------------ |
|
|
|
print_line('up', cell_width_list) |
|
|
|
result_str.extend([get_line('up', cell_width_list), '\n']) |
|
|
|
str_list = [] |
|
|
|
str_list.append(table_icon['vline']) |
|
|
|
str_list.append(clamp_str('Title', cell_width_list[0], True)) |
|
|
@ -200,11 +203,11 @@ def print_table_res(data_list): |
|
|
|
str_list.append(table_icon['vline']) |
|
|
|
str_list.append(clamp_str('GPU-Util', cell_width_list[3], True)) |
|
|
|
str_list.append(table_icon['vline']) |
|
|
|
print(''.join(str_list)) |
|
|
|
result_str.extend([''.join(str_list), '\n']) |
|
|
|
|
|
|
|
# 输出内容 ------------------------------------------ |
|
|
|
for i, data in enumerate(data_list): |
|
|
|
print_line('middle', cell_width_list) |
|
|
|
result_str.extend([get_line('middle', cell_width_list), '\n']) |
|
|
|
title = data['server_data']['title'] |
|
|
|
info_list = data.get('info_list', None) |
|
|
|
if info_list: |
|
|
@ -231,7 +234,8 @@ def print_table_res(data_list): |
|
|
|
str_list.append(clamp_str(f"{util_gpu} % ", cell_width_list[3], True, 'right')) |
|
|
|
str_list.append(table_icon['vline']) |
|
|
|
|
|
|
|
print(''.join(str_list)) |
|
|
|
result_str.extend([''.join(str_list), '\n']) |
|
|
|
# print(''.join(str_list)) |
|
|
|
|
|
|
|
# 第二行 |
|
|
|
str_list = [] |
|
|
@ -264,11 +268,12 @@ def print_table_res(data_list): |
|
|
|
str_list.append(get_bar(util_gpu/100, cell_width_list[3], True)) |
|
|
|
str_list.append(table_icon['vline']) |
|
|
|
|
|
|
|
print(''.join(str_list)) |
|
|
|
result_str.extend([''.join(str_list), '\n']) |
|
|
|
# print(''.join(str_list)) |
|
|
|
|
|
|
|
# 下一张卡 |
|
|
|
if j != len(info_list)-1: |
|
|
|
print_line('middle', cell_width_list, [0]) |
|
|
|
result_str.extend([get_line('middle', cell_width_list, [0]), '\n']) |
|
|
|
else: |
|
|
|
str_list = [] |
|
|
|
str_list.append(table_icon['vline']) |
|
|
@ -277,9 +282,12 @@ def print_table_res(data_list): |
|
|
|
err_info = data.get('err_info', 'error') |
|
|
|
str_list.append(clamp_str(err_info, len_last3, True)) |
|
|
|
str_list.append(table_icon['vline']) |
|
|
|
print(''.join(str_list)) |
|
|
|
# print(''.join(str_list)) |
|
|
|
result_str.extend([''.join(str_list), '\n']) |
|
|
|
|
|
|
|
print_line('bottom', cell_width_list) |
|
|
|
result_str.extend([get_line('bottom', cell_width_list), '\n']) |
|
|
|
|
|
|
|
return ''.join(result_str) |
|
|
|
|
|
|
|
def keep_check_one(server: dict, shared_data_list: list, server_idx: int, interval: float): |
|
|
|
try: |
|
|
@ -387,10 +395,12 @@ def realtime(args): |
|
|
|
# 绘制 |
|
|
|
while True: |
|
|
|
with data_list_lock: |
|
|
|
os.system('cls' if os.name == 'nt' else 'clear') |
|
|
|
if args.table: |
|
|
|
print_table_res(data_list) |
|
|
|
res_str = get_table_res(data_list) |
|
|
|
os.system('cls' if os.name == 'nt' else 'clear') |
|
|
|
print(res_str) |
|
|
|
else: |
|
|
|
os.system('cls' if os.name == 'nt' else 'clear') |
|
|
|
print(time.strftime("%Y%m-%d%H:%M:%S", time.localtime(time.time()))) |
|
|
|
for data in data_list: |
|
|
|
print(data['server_data']['title'] + ' ---------------') |
|
|
|