def new_main(trans_dir): Global.LoadThreadNameMap(trans_dir + 'thread_name_map') for trans_file in glob.glob(trans_dir + 'transactions/*'): #print trans_file g = LoadGraph(trans_file) paths = CriticalPaths(g) for input_n in paths.keys(): PrintInputPaths(input_n, paths[input_n], trans_file, g, gState)
def PrintCriticalPaths(user_dir): Global.LoadThreadNameMap(user_dir + 'thread_name_map') for trans_file in glob.glob(user_dir + 'transactions/UI_INPUT*'): g = LoadGraph(trans_file) paths = CriticalPaths(g) for input_n in paths.keys(): print('---------' + trans_file + '_' + input_n + '-------------') for update_path in paths[input_n]: path = update_path['path'] print( PathToString(path) + '\nTransaction time:' + str(path[-1].timestamp - path[0].timestamp))
def old_main(filename): global gState g = LoadGraph(filename) paths = CriticalPaths(g) for input_n in paths.keys(): #PrintInputPaths(input_n, paths[input_n], filename, g, gState) print('---------'+ input_n + '--------------') update_paths = paths[input_n] for path_to_update in update_paths: path = path_to_update['path'] print(PathToString(path)) for evt in path: CountHandlerMap[evt.event](evt, gState) print(PathProfile(path[0], path[-1], gProfile)) ClearProfile(gProfile) if __name__=='__main__': if len(sys.argv) < 3: print('Usage: python ResourceCounting.py < mode: 1: single file; 2: all files in a folder> < path to transaction file or all files in a folder>') sys.exit(0) else: if int(sys.argv[1]) == 1: # print individual transaction if len(sys.argv) >= 4: Global.LoadThreadNameMap(sys.argv[3]) old_main(sys.argv[2]) else: new_main(sys.argv[2])
def PrintTrans(user_dir): Global.LoadThreadNameMap(user_dir + 'thread_name_map') for trans_file in glob.glob(user_dir + 'transactions/UI_INPUT*'): print('-------' + trans_file + '---------') g = LoadGraph(trans_file) print(TransToString(g))