raw_to_csv.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. from pathlib import Path
  2. standard_check_file = open("standard_check"+".csv", "w")
  3. standard_check_file.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  4. for p in Path('.').glob('*.log'):
  5. print(f"Parsing: {p.name.strip('.log')}\n")
  6. with p.open() as log_file:
  7. test_file = open(p.name.strip('.log')+".csv", "w")
  8. test_file.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  9. bridges = 0
  10. c=False
  11. red = 0
  12. check = 0
  13. level = 0
  14. protocol = 0
  15. num = 0
  16. rep_sub = 0
  17. rep_stat = 0
  18. rep_res = 0
  19. req_size = 0
  20. req_size_std = 0
  21. req_time = 0
  22. req_time_std = 0
  23. resp_size = 0
  24. resp_size_std = 0
  25. resp_time = 0
  26. resp_time_std = 0
  27. resp_handle_time = 0
  28. resp_handle_std = 0
  29. endline = 0
  30. # Loop over the remaining lines in the file
  31. for line in log_file:
  32. if "***START" in line:
  33. bridges = line.split()[1].split("*")[0]
  34. if "CHECK-BLOCKAGE" in line:
  35. protocol = 1
  36. num = line.split("-")[6].strip('-')
  37. if int(bridges) == 600:
  38. check =1
  39. if not c:
  40. check_b = open("check_blockage"+str(num)+".csv", "w")
  41. check_b.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  42. c=True
  43. elif "BLOCKAGE-MIGRATION" in line:
  44. protocol = 2
  45. num = line.split("-")[6].strip('-')
  46. elif "REDEEM" in line:
  47. protocol = 3
  48. if not red:
  49. redeem = open("redeem_invites.csv", "w")
  50. redeem.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  51. red = 1
  52. elif "ISSUE" in line:
  53. protocol = 4
  54. elif "OPEN" in line:
  55. protocol = 5
  56. elif "TRUST-PROMOTION" in line:
  57. protocol = 6
  58. if not level:
  59. trust_promo = open("trust_promo.csv", "w")
  60. trust_promo.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  61. elif "TRUST-MIGRATION" in line:
  62. protocol = 7
  63. if not level:
  64. mig_file = open("trust_mig.csv", "w")
  65. mig_file.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  66. elif "LEVEL-UP-2" in line:
  67. protocol = 8
  68. if not level:
  69. level_file = open("level2.csv", "w")
  70. level_file.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  71. elif "LEVEL-UP-3" in line:
  72. protocol = 9
  73. if not level:
  74. level_file_t = open("level3.csv", "w")
  75. level_file_t.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  76. elif "LEVEL-UP-4" in line:
  77. protocol = 10
  78. if not level:
  79. level_file_f = open("level4.csv", "w")
  80. level_file_f.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  81. level = 1
  82. elif "REPORT-SUBMIT" in line:
  83. protocol = 11
  84. if not rep_sub:
  85. rep_sub_file = open("report_submit.csv", "w")
  86. rep_sub_file.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  87. rep_sub = 1
  88. elif "REPORT-STATUS" in line:
  89. protocol = 12
  90. if not rep_stat:
  91. rep_stat_file = open("report_status.csv", "w")
  92. rep_stat_file.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  93. rep_stat = 1
  94. elif "REPORT-RESOLVE" in line:
  95. protocol = 13
  96. if not rep_res:
  97. rep_res_file = open("report_resolve.csv", "w")
  98. rep_res_file.write("Percent,Bridges,RequestS,Rsstdev,RequestT,Rtstdev,ResponseS,Restdev,ResponseT,ReTstdev,ResponseHT,RHTstdev\n")
  99. rep_res = 1
  100. elif protocol:
  101. value = line.split(" = ")
  102. if value[0].startswith("Average"):
  103. if "request" in value[0]:
  104. if "size" in value[0]:
  105. raw_size = value[1].split(" ")
  106. req_size = raw_size[0]
  107. else:
  108. if "n" in value[1]:
  109. nano_sec = value[1].split("n")
  110. raw_size = float(nano_sec[0])*0.000001
  111. elif "µ" in value[1]:
  112. micro_sec = value[1].split("µ")
  113. raw_size = float(micro_sec[0])*0.001
  114. elif "m" not in value[1]:
  115. sec = value[1][:-3]
  116. raw_size = float(sec)*1000
  117. else:
  118. raw_size = value[1][:-3]
  119. req_time = raw_size
  120. else:
  121. if "size" in value[0]:
  122. raw_size = value[1].split(" ")
  123. resp_size = raw_size[0]
  124. else:
  125. if "n" in value[1]:
  126. nano_sec = value[1].split("n")
  127. raw_size = float(nano_sec[0])*0.000001
  128. elif "µ" in value[1]:
  129. micro_sec = value[1].split("µ")
  130. raw_size = float(micro_sec[0])*0.001
  131. elif "m" not in value[1]:
  132. sec = value[1][:-3]
  133. raw_size = float(sec)*1000
  134. else:
  135. raw_size = value[1][:-3]
  136. if "handling" in value[0]:
  137. resp_handle_time = raw_size
  138. else:
  139. resp_time = raw_size
  140. elif value[0].startswith("Request"):
  141. if "size" in value[0]:
  142. raw_size = value[1].split(" ")
  143. req_size_std = raw_size[0]
  144. else:
  145. if "n" in value[1]:
  146. nano_sec = value[1].split("n")
  147. to_sec = float(nano_sec[0])*0.000001
  148. elif "µ" in value[1]:
  149. micro_sec = value[1].split("µ")
  150. to_sec = float(micro_sec[0])*0.001
  151. else:
  152. to_sec = value[1][:-3]
  153. req_time_std = to_sec
  154. elif value[0].startswith("Response"):
  155. if "size" in value[0]:
  156. raw_size = value[1].split(" ")
  157. resp_size_std = raw_size[0]
  158. else:
  159. if "n" in value[1]:
  160. nano_sec = value[1].split("n")
  161. to_sec = float(nano_sec[0])*0.000001
  162. elif "µ" in value[1]:
  163. micro_sec = value[1].split("µ")
  164. to_sec = float(micro_sec[0])*0.001
  165. else:
  166. to_sec = value[1][:-3]
  167. if "handling" in value[0]:
  168. resp_handle_time_std = to_sec
  169. endline = 1
  170. else:
  171. resp_time_std = to_sec
  172. if endline == 1:
  173. if check == 1:
  174. standard_check_file.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  175. check = 0
  176. if protocol == 1:
  177. check_b.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  178. elif protocol == 3:
  179. redeem.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  180. elif protocol<6:
  181. test_file.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  182. else:
  183. if protocol == 6:
  184. trust_promo.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  185. if protocol == 7:
  186. mig_file.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  187. if protocol == 8:
  188. level_file.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  189. elif protocol == 9:
  190. level_file_t.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  191. elif protocol == 10:
  192. level_file_f.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  193. elif protocol == 11:
  194. rep_sub_file.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  195. elif protocol == 12:
  196. rep_stat_file.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  197. elif protocol == 13:
  198. rep_res_file.write(str(num) + "," + str(bridges)+"," + str(req_size) + "," + str(req_size_std) + "," + str(req_time) + "," + str(req_time_std) + "," + str(resp_size) + "," + str(resp_size_std) + "," + str(resp_time) + "," + str(resp_time_std) + "," + str(resp_handle_time) + "," + str(resp_handle_time_std) + "\n")
  199. endline = 0
  200. protocol = 0
  201. if level:
  202. level_file.close()
  203. level_file_t.close()
  204. level_file_f.close()
  205. trust_promo.close()
  206. mig_file.close()
  207. if red:
  208. redeem.close()
  209. if rep_sub:
  210. rep_sub_file.close()
  211. if rep_stat:
  212. rep_stat_file.close()
  213. if rep_res:
  214. rep_res_file.close()
  215. test_file.close()
  216. standard_check_file.close()
  217. print("Done.")