public static void ParseFiles(AbParseCommandLineParser cl)
{
var path = Path.GetDirectoryName(cl.InputFilePath);
if (path == string.Empty)
path = ".\\";
var fileName = Path.GetFileName(cl.InputFilePath);
var files = Directory.GetFiles(path,fileName);
var testInfoList = new List<TestInfo>();
foreach (var file in files)
{
var testInfo = new TestInfo();
var lines = File.ReadAllLines(file);
testInfo.RequestName = Path.GetFileNameWithoutExtension(file);
foreach (var line in lines)
{
if (string.IsNullOrEmpty(line))
continue;
//Requests per second: 174.14 [#/sec] (mean)
if (line.StartsWith("Requests per"))
{
var req = StringUtils.ExtractString(line, ":", "[");
req = req.Trim();
decimal rps = 0;
decimal.TryParse(req, out rps);
testInfo.RequestsPerSecond = rps;
}
if (line.StartsWith(" (Connect"))
{
var req = StringUtils.ExtractString(line, "(", ")",returnDelimiters: true);
testInfo.FailedRequests = req;
}
}
testInfoList.Add(testInfo);
}
WriteOutput(testInfoList,cl);
}