kubeless/benchmark/process.py

56 lines
1.5 KiB
Python
Raw Normal View History

2019-04-27 18:05:00 +02:00
#!/usr/bin/env python3
import csv
2019-04-30 15:44:00 +02:00
import os
import pprint
import numpy as np
import matplotlib.pyplot as plt
2019-04-27 18:05:00 +02:00
2019-04-30 15:44:00 +02:00
#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') ]
2019-04-27 18:05:00 +02:00
2019-04-30 15:44:00 +02:00
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)
2019-04-27 18:05:00 +02:00
if __name__ == "__main__":
2019-04-30 15:44:00 +02:00
processAllFiles()