import my_constants


base_path = my_constants.base_path();
logsDir = base_path+'logs/';
phpCSVFilePath = logsDir+'php.csv';
phpSummaryFilePath = logsDir+'php_summary.txt'



#Time take for test
phpSummaryFile = open(phpSummaryFilePath, 'r')

timeTakenForPHPTest = "";
reqPerSecPHP = "";
timePerReqPHP = "";
firstTime = True;
for line in phpSummaryFile:
    if "Time taken for tests:" in line :
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timeTakenForPHPTest = splitedLine[0];
        
    elif "Requests per second:" in line:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        reqPerSecPHP = splitedLine[0];
    elif "Time per request:" in line and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqPHP = splitedLine[0];
        firstTime = None; 
        

nodeCSVFilePath = logsDir+'node.csv';
nodeSummaryFilePath = logsDir+'node_summary.txt';
nodeSummaryFile = open(nodeSummaryFilePath, 'r');
timeTakenForNodeTest = "";
reqPerSeqNode = "";
timePerReqNode = "";

firstTime = True;

for line in nodeSummaryFile:
    if "Time taken for tests:" in line :
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timeTakenForNodeTest = splitedLine[0];
        print(splitedLine[0]);
    elif "Requests per second:" in line:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        reqPerSeqNode = splitedLine[0]; 
    elif ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqNode = splitedLine[0]; 
        firstTime = None;       




print("Time taken for test php: "+timeTakenForPHPTest);
print("Time taken for test node: "+timeTakenForNodeTest);
print("Request per seconds php: "+reqPerSecPHP);
print("Request per seconds node: "+reqPerSeqNode);
print("Time per request php: "+timePerReqPHP);
print("Time per request  node: "+timePerReqNode);


timeTakenPath = logsDir+'time_taken_for_test.txt';
timeTakenFile = open(timeTakenPath, 'w');
timeTakenFile.write(timeTakenForNodeTest+'\n'+timeTakenForPHPTest+'\n');

reqPerSecPath = logsDir+'reqPerSec.txt';
reqPerSecFile = open(reqPerSecPath, 'w');
reqPerSecFile.write(reqPerSeqNode+'\n'+reqPerSecPHP+'\n');

timePerReqPath = logsDir+'timePerReq.txt';
timePerReqFile = open(timePerReqPath, 'w');
timePerReqFile.write(timePerReqNode+'\n'+timePerReqPHP+'\n');




phpSummary1FilePath = logsDir+'php_summary1.txt'
phpSummary1File = open(phpSummary1FilePath, 'r');
timePerReqPHP1 = "";
firstTime = True;
for line in phpSummary1File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqPHP1 = splitedLine[0];
        firstTime = None;

phpSummary10FilePath = logsDir+'php_summary10.txt'
phpSummary10File = open(phpSummary10FilePath, 'r');
timePerReqPHP10 = "";
firstTime = True;
for line in phpSummary10File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqPHP10 = splitedLine[0];
        firstTime = None;
        
        
phpSummary25FilePath = logsDir+'php_summary25.txt'
phpSummary25File = open(phpSummary25FilePath, 'r');
timePerReqPHP25 = "";
firstTime = True;
for line in phpSummary25File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqPHP25 = splitedLine[0];
        firstTime = None;
        
phpSummary50FilePath = logsDir+'php_summary50.txt'
phpSummary50File = open(phpSummary50FilePath, 'r');
timePerReqPHP50 = "";
firstTime = True;
for line in phpSummary50File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqPHP50 = splitedLine[0];
        firstTime = None;
        
phpSummary100FilePath = logsDir+'php_summary100.txt'
phpSummary100File = open(phpSummary100FilePath, 'r');
timePerReqPHP100 = "";
firstTime = True;
for line in phpSummary100File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqPHP100 = splitedLine[0];
        firstTime = None;
        
phpSummary150FilePath = logsDir+'php_summary150.txt'
phpSummary150File = open(phpSummary150FilePath, 'r');
timePerReqPHP150 = "";
firstTime = True;
for line in phpSummary150File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqPHP150 = splitedLine[0];
        firstTime = None;

phpSummary300FilePath = logsDir+'php_summary300.txt'
phpSummary300File = open(phpSummary300FilePath, 'r');
timePerReqPHP300 = "";
firstTime = True;
for line in phpSummary300File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqPHP300 = splitedLine[0];
        firstTime = None;


nodeSummary1FilePath = logsDir+'node_summary1.txt';
nodeSummary1File = open(nodeSummary1FilePath, 'r');
timePerReqNode1 = "";
firstTime = True;
for line in nodeSummary1File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqNode1 = splitedLine[0];
        firstTime = None;
        
nodeSummary10FilePath = logsDir+'node_summary10.txt';
nodeSummary10File = open(nodeSummary10FilePath, 'r');
timePerReqNode10 = "";
firstTime = True;
for line in nodeSummary10File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqNode10 = splitedLine[0];
        firstTime = None;
        
nodeSummary25FilePath = logsDir+'node_summary25.txt';
nodeSummary25File = open(nodeSummary25FilePath, 'r');
timePerReqNode25 = "";
firstTime = True;
for line in nodeSummary25File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqNode25 = splitedLine[0];
        firstTime = None;
        
nodeSummary50FilePath = logsDir+'node_summary50.txt';
nodeSummary50File = open(nodeSummary50FilePath, 'r');
timePerReqNode50 = "";
firstTime = True;
for line in nodeSummary50File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqNode50 = splitedLine[0];
        firstTime = None;
        
nodeSummary100FilePath = logsDir+'node_summary100.txt';
nodeSummary100File = open(nodeSummary100FilePath, 'r');
timePerReqNode100 = "";
firstTime = True;
for line in nodeSummary100File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqNode100 = splitedLine[0];
        firstTime = None;

nodeSummary150FilePath = logsDir+'node_summary150.txt';
nodeSummary150File = open(nodeSummary150FilePath, 'r');
timePerReqNode150 = "";
firstTime = True;
for line in nodeSummary150File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqNode150 = splitedLine[0];
        firstTime = None;

nodeSummary300FilePath = logsDir+'node_summary300.txt';
nodeSummary300File = open(nodeSummary300FilePath, 'r');
timePerReqNode300 = "";
firstTime = True;
for line in nodeSummary300File:
    if ("Time per request:" in line) and firstTime:
        splitedLine = line.split(":");
        splitedLine = (splitedLine[1].strip()).split(" ");
        timePerReqNode300 = splitedLine[0];
        firstTime = None;

loadTestPath = logsDir+'loadTest.txt';
loadTestFile = open(loadTestPath, 'w');
loadTestFile.write(timePerReqNode1+'\t'+timePerReqPHP1+'\n');
loadTestFile.write(timePerReqNode10+'\t'+timePerReqPHP10+'\n');
loadTestFile.write(timePerReqNode25+'\t'+timePerReqPHP25+'\n');
loadTestFile.write(timePerReqNode50+'\t'+timePerReqPHP50+'\n');
loadTestFile.write(timePerReqNode100+'\t'+timePerReqPHP100+'\n');
loadTestFile.write(timePerReqNode150+'\t'+timePerReqPHP150+'\n');
loadTestFile.write(timePerReqNode+'\t'+timePerReqPHP+'\n');
loadTestFile.write(timePerReqNode300+'\t'+timePerReqPHP300+'\n');
#import os
#os.system("R CMD BATCH  rscripts/barChartTimeTakenForTest.R")
#os.system("Rscript "+ base_path+"rscripts/barChartTimeTakenForTest.R")


#
