aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchihhao.wang <r07922111@ntu.edu.tw>2019-06-25 08:21:01 +0800
committerGitHub <noreply@github.com>2019-06-25 08:21:01 +0800
commit9407f091846e524d175a7d400ead0fb82fc1f2ce (patch)
tree1b42df78c555045be26e23cb0fc974713720266f
parentf89e8550e6345751ed9f0f330a7b02ae5fabfadf (diff)
downloadcns-final-tor-store-9407f091846e524d175a7d400ead0fb82fc1f2ce.tar
cns-final-tor-store-9407f091846e524d175a7d400ead0fb82fc1f2ce.tar.gz
cns-final-tor-store-9407f091846e524d175a7d400ead0fb82fc1f2ce.tar.bz2
cns-final-tor-store-9407f091846e524d175a7d400ead0fb82fc1f2ce.tar.lz
cns-final-tor-store-9407f091846e524d175a7d400ead0fb82fc1f2ce.tar.xz
cns-final-tor-store-9407f091846e524d175a7d400ead0fb82fc1f2ce.tar.zst
cns-final-tor-store-9407f091846e524d175a7d400ead0fb82fc1f2ce.zip
Add files via upload
-rw-r--r--src/plot_.py141
1 files changed, 141 insertions, 0 deletions
diff --git a/src/plot_.py b/src/plot_.py
new file mode 100644
index 0000000..8adcf6e
--- /dev/null
+++ b/src/plot_.py
@@ -0,0 +1,141 @@
+import pickle
+import json
+import matplotlib
+matplotlib.use('TkAgg')
+import matplotlib.pyplot as plt
+
+def main():
+
+ table = {}
+ with open("duration300.txt",'r') as f:
+ pos = f.tell()
+ while True:
+ line = f.readline()
+ new_pos = f.tell()
+ if pos ==new_pos:
+ break
+ else:
+ pos = new_pos
+ lines = line.strip().split(' ')
+ time = float(lines[0])
+ id_ = lines[1]
+ action = lines[2]
+
+ try :
+ table[id_]
+ except :
+ table[id_] = {}
+ if action == "retrieved":
+ try :
+ table[id_]["retrieved"]
+ except:
+ table[id_]["retrieved"] = []
+ table[id_]["retrieved"].append(time)
+ elif action == "failed":
+ try :
+ table[id_]["failed"]
+ except:
+ table[id_]["failed"] = []
+ table[id_]["failed"].append(time)
+ else:
+ table[id_][action]=time
+ if action == "stored":
+ table[id_]["key"] = lines[3]
+ # failed/retrieved
+ failed = []
+ for key in table.keys():
+ try :
+ f = len(table[key]["failed"])
+ r = len(table[key]["retrieved"])
+ t = f/(f+r) * 100
+ t = t//1
+ failed.append(t)
+ except:
+ continue
+
+
+ plt.hist(failed,bins=100,range=(0,100))
+ # plt.plot(x,y)
+ plt.xlabel("percent %")
+ plt.ylabel("num")
+ plt.title("Failed rate")
+ plt.savefig("png/failed_rate.png",dpi=300)
+ plt.close()
+
+
+ # avg failed
+ failed = []
+ for key in table.keys():
+ try :
+ num = len(table[key]["failed"])
+ t = table[key]["failed"][-1]//60 - table[key]["stored"]//60
+ failed.append(t/num)
+ except:
+ continue
+
+
+ plt.hist(failed,bins=100,range=(0,400))
+ # plt.plot(x,y)
+ plt.xlabel("minute")
+ plt.ylabel("num")
+ plt.title("Average failed time")
+ plt.savefig("png/avg_failed.png",dpi=300)
+ plt.close()
+
+ # live time
+ failed = []
+
+ for key in table.keys():
+ try :
+ t = table[key]["retrieved"][-1]//60 - table[key]["retrieved"][0]//60
+ failed.append(t)
+ except:
+ continue
+
+ plt.hist(failed,bins=100,range=(0,1600))
+ plt.xlabel("minute")
+ plt.ylabel("num")
+ plt.title("Live time")
+ plt.savefig("png/live_time.png",dpi=300)
+ plt.close()
+
+ # First retrieved time
+ retrieved = []
+ count = 0
+ for key in table.keys():
+ try :
+ t = table[key]["retrieved"][0]//60 - table[key]["stored"]//60
+ retrieved.append(t)
+ except:
+ continue
+
+ plt.hist(retrieved,bins=100,range=(0,70))
+ plt.xlabel("minute")
+ plt.ylabel("num")
+ plt.title("First retrieved time")
+ plt.savefig("png/retrieved_time.png",dpi=300)
+ plt.close()
+
+
+ # stored time
+ retrieved = []
+ count = 0
+ for key in table.keys():
+ try :
+ t = table[key]["stored"]//60 - table[key]["start"]//60
+ retrieved.append(t)
+ except:
+ continue
+
+
+ plt.hist(retrieved,bins=100,range=(0,250))
+ plt.xlabel("minute")
+ plt.ylabel("num")
+ plt.title("Stored time")
+ plt.savefig("png/stored_time.png",dpi=300)
+ plt.close()
+
+
+
+if __name__ == "__main__":
+ main() \ No newline at end of file