diff options
author | chihhao.wang <r07922111@ntu.edu.tw> | 2019-06-25 08:20:03 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-25 08:20:03 +0800 |
commit | f89e8550e6345751ed9f0f330a7b02ae5fabfadf (patch) | |
tree | b0a61ee23ecc4fc6ec3f65444bac623ea5ae5511 | |
parent | 785a3eee9eaebb6b888b5951e42222c9b796f7f2 (diff) | |
download | cns-final-tor-store-f89e8550e6345751ed9f0f330a7b02ae5fabfadf.tar cns-final-tor-store-f89e8550e6345751ed9f0f330a7b02ae5fabfadf.tar.gz cns-final-tor-store-f89e8550e6345751ed9f0f330a7b02ae5fabfadf.tar.bz2 cns-final-tor-store-f89e8550e6345751ed9f0f330a7b02ae5fabfadf.tar.lz cns-final-tor-store-f89e8550e6345751ed9f0f330a7b02ae5fabfadf.tar.xz cns-final-tor-store-f89e8550e6345751ed9f0f330a7b02ae5fabfadf.tar.zst cns-final-tor-store-f89e8550e6345751ed9f0f330a7b02ae5fabfadf.zip |
plot
-rw-r--r-- | plot_.py | 141 | ||||
-rw-r--r-- | png/avg_failed.png | bin | 0 -> 56913 bytes | |||
-rw-r--r-- | png/failed_rate.png | bin | 0 -> 46833 bytes | |||
-rw-r--r-- | png/first_retrieved_time.png | bin | 0 -> 47360 bytes | |||
-rw-r--r-- | png/live_time.png | bin | 0 -> 42797 bytes | |||
-rw-r--r-- | png/stored_time.png | bin | 0 -> 47965 bytes |
6 files changed, 141 insertions, 0 deletions
diff --git a/plot_.py b/plot_.py new file mode 100644 index 0000000..8adcf6e --- /dev/null +++ b/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 diff --git a/png/avg_failed.png b/png/avg_failed.png Binary files differnew file mode 100644 index 0000000..2c2d81f --- /dev/null +++ b/png/avg_failed.png diff --git a/png/failed_rate.png b/png/failed_rate.png Binary files differnew file mode 100644 index 0000000..efe1cd9 --- /dev/null +++ b/png/failed_rate.png diff --git a/png/first_retrieved_time.png b/png/first_retrieved_time.png Binary files differnew file mode 100644 index 0000000..a93a0b8 --- /dev/null +++ b/png/first_retrieved_time.png diff --git a/png/live_time.png b/png/live_time.png Binary files differnew file mode 100644 index 0000000..01cdd73 --- /dev/null +++ b/png/live_time.png diff --git a/png/stored_time.png b/png/stored_time.png Binary files differnew file mode 100644 index 0000000..c04196a --- /dev/null +++ b/png/stored_time.png |