diff options
author | chihhao.wang <r07922111@ntu.edu.tw> | 2019-06-25 08:21:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-25 08:21:01 +0800 |
commit | 9407f091846e524d175a7d400ead0fb82fc1f2ce (patch) | |
tree | 1b42df78c555045be26e23cb0fc974713720266f | |
parent | f89e8550e6345751ed9f0f330a7b02ae5fabfadf (diff) | |
download | cns-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_.py | 141 |
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 |