diff --git a/benchmark/process.py b/benchmark/process.py index a0b45e6..f03d0cd 100644 --- a/benchmark/process.py +++ b/benchmark/process.py @@ -1,7 +1,55 @@ #!/usr/bin/env python3 import csv +import os +import pprint +import numpy as np +import matplotlib.pyplot as plt +#Returns array of csv files in current directory +def getFiles(): + files = [f for f in os.listdir('.') if os.path.isfile(f)] + return[ f for f in files if f.endswith('.csv') ] +def processFile(fname): + with open(fname) as f: + lines=[] + data=csv.reader(f) + fields=data.next() + for row in data: + items=zip(fields,row) + item={} + for(name,value) in items: + item[name]=value.strip() + lines.append(item) + return lines + +def processor(lines): + responseCodes={} + responsePerSec={} + responesTimes=[line['response-time'] for line in lines] + maxResponse=max(responesTimes) + minResponse=min(responesTimes) + for line in lines: + sec=line['response-time'] // 1 + if responsePerSec[sec] == None: + responsePerSec[sec]=1 + else: + responsePerSec[sec]=responsePerSec[sec]+1 + code=line['status-code'] + if responseCodes[code]==None: + responseCodes[code]=1 + else: + responseCodes[code]=responseCodes[code]+1 + print("Maximum response time was ",maxResponse) + print("Minimum response time was ",minResponse) + pprint(responseCodes) + pprint(responesTimes) + +def processAllFiles(): + files=getFiles() + for f in files: + lines=processFile(f) + processor(lines) if __name__ == "__main__": - pass + processAllFiles()