// Prepare analysis table private string processAnalysis(JMeterData allData) { var tableBuilder = new HtmlTableBuilder(); var sbTotal = new StringBuilder(); var total = allData.AnaliseResponseTimes(); // remove Method name because it is not used total.RemoveAt(0); tableBuilder.BuildRow(total, sbTotal, 0); // let split all results by method var jDatas = from row in allData.Rows group row by row.Label into grouped select new JMeterData(grouped.ToList(), grouped.Key.Trim()); int i = 0; var sb = new StringBuilder(); foreach (var methodData in jDatas) { // get analyzed data per each method var analyzed = methodData.AnaliseResponseTimes(); // add to stringBuilder sb, to get this data as row <tr> </tr>. Use i to determine odd or even row. tableBuilder.BuildRow(analyzed, sb, i++); } var formatted = string.Format(_templatesProvider.AnalysisTableTemplate, sb.ToString(), getConfData(), sbTotal.ToString()); return formatted; }
private string process(JMeterData allData, TemplatesProvider provider) { // let split them by label var jDatas = from row in allData.Rows group row by row.Label into grouped select new JMeterData(grouped.ToList(), grouped.Key.Trim()); var sb = new StringBuilder(); foreach (var methodData in jDatas) { var summary = methodData.PrepareSummary(); var summaryTable = new HtmlSummaryBuilder().Build(summary, methodData.MethodName, provider); sb.Append(summaryTable); } var allResultstable = new HtmlTableBuilder().Build(allData, provider); var formatted = string.Format(provider.HtmlPageTemplate, sb.ToString(), allResultstable); return formatted; }