예제 #1
0
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))
예제 #3
0
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))