private string GetXml(ResultTaskCollection resultTaskCollection, ResultInfo resultInfo) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>"); stringBuilder.Append(string.Format("<result runTime=\"{1}\" version=\"{0}\" executionTime=\"{2}\">", resultInfo.Version, GenericHelper.DateTimeToString(resultInfo.RunTime), resultInfo.TotalExecutionTime)); AddServerInfoToXml(stringBuilder, resultInfo); AddTasksToXml(stringBuilder, resultTaskCollection); AddPerformanceCountersToXml(stringBuilder, resultTaskCollection.PerformanceCountersSamples, resultTaskCollection.PerformanceCountersSamplingInterval); stringBuilder.Append("</result>"); return(stringBuilder.ToString()); }
private void AddTasksToXml(StringBuilder stringBuilder, ResultTaskCollection resultTaskCollection) { stringBuilder.Append(string.Format("<tasks description=\"{0}\" connections=\"{1}\" timeBetweenConnections=\"{2}\" mode=\"{3}\" usePooling=\"{4}\" minPooling=\"{5}\" maxPooling=\"{6}\">", System.Security.SecurityElement.Escape(resultTaskCollection.Description), resultTaskCollection.Connections, resultTaskCollection.TimeBetweenConnections, resultTaskCollection.Mode, resultTaskCollection.UsePooling, resultTaskCollection.MinPooling, resultTaskCollection.MaxPooling)); AddSummaryToXml(stringBuilder); foreach (ResultTask resultTask in resultTaskCollection.Tasks) { stringBuilder.Append(string.Format("<task name=\"{0}\" type=\"{1}\" description=\"{2}\" delayAfterCompletion=\"{3}\" firstConnectionStartTime=\"{4}\">", System.Security.SecurityElement.Escape(resultTask.Name), resultTask.Type, System.Security.SecurityElement.Escape(resultTask.Description), resultTask.DelayAfterCompletion, GenericHelper.DateTimeToString(resultTask.FirstConnectionStartTime))); AddTraceToXml(stringBuilder, resultTask); stringBuilder.Append("</task>"); } stringBuilder.Append("</tasks>"); }
public ImportResultXml(string resultXmlFileName) { _traceData = new List <ImportTraceDataValue>(); _calculatedPerformanceCounters = new List <CalculatedPerformanceCounter>(); _ranTaskInfo = new List <RanTaskInfo>(); _resultTaskCollection = new ResultTaskCollection(); _resultInfo = new ResultInfo(); try { ParseXml(resultXmlFileName); _success = true; } catch { MessageBox.Show("Not a valid Result Xml file.", GenericHelper.ApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Information); _success = false; } }
public void SetData(List <ImportTraceDataValue> traceDataList, List <CalculatedPerformanceCounter> performanceCounters, string unattendedTempDir, List <RanTaskInfo> ranTaskInfo, bool includeStylesheets, ResultTaskCollection resultTaskCollection, ResultInfo resultInfo) { Hide(); InitializeComponent(); Initialize(traceDataList, performanceCounters, ranTaskInfo, resultTaskCollection, resultInfo); if (includeStylesheets) { foreach (Stylesheet stylesheet in StylesheetHelper.StylesheetCollection.Stylesheets) { if (stylesheet.Enabled) { string transformedXmlFileName = string.Format(@"{0}\PerformanceTestToolResultTransformed_{1}.{2}", unattendedTempDir, stylesheet.Name, stylesheet.OutputFormat.ToLower()); XslTransform(stylesheet.Xslt, _xmlFileName, transformedXmlFileName, stylesheet.OutputFormat); } } } string logDirAndFileName = string.Format(@"{0}\{1}", unattendedTempDir, GenericHelper.UnattendedLogFileName); XmlHelper.WriteXmlToFile(_xml, logDirAndFileName); Close(); }
public void SetData(List <ImportTraceDataValue> traceDataList, List <CalculatedPerformanceCounter> performanceCounters, List <RanTaskInfo> ranTaskInfo, ResultTaskCollection resultTaskCollection, ResultInfo resultInfo) { Hide(); InitializeComponent(); Initialize(traceDataList, performanceCounters, ranTaskInfo, resultTaskCollection, resultInfo); PostInitializeSteps(); FireMessageToMainFormEvent("Status: Idle"); }
private static List <TabPage> GetTabPages(List <ImportTraceDataValue> traceDataList, ResultTaskCollection resultTaskCollection, List <RanTaskInfo> ranTaskInfo) { List <ImportTraceDataValue> latencyValues = GetLatencyValues(traceDataList, resultTaskCollection); List <TabPage> tabPages = new List <TabPage>(); List <ImportTraceDataValue> summaryTraceDataList = GetSummaryOfTraceData(traceDataList); if (latencyValues != null) { AddTotalDuration(summaryTraceDataList, latencyValues); } TabPage summaryTabPage = GetSummaryTab(resultTaskCollection.Connections, summaryTraceDataList); tabPages.Add(summaryTabPage); for (int i = 0; i < resultTaskCollection.Tasks.Count; i++) { TabPage tabPage = GetTabPage(resultTaskCollection.Tasks[i], traceDataList, ranTaskInfo, resultTaskCollection.Connections); tabPages.Add(tabPage); } return(tabPages); }
private static List <ImportTraceDataValue> GetLatencyValues(List <ImportTraceDataValue> traceDataList, ResultTaskCollection resultTaskCollection) { if (resultTaskCollection.Mode == "Serial") { return(null); } string firstTaskName = null; foreach (ResultTask task in resultTaskCollection.Tasks) { if (task.Type == TaskHelper.TaskType.Normal) { firstTaskName = task.Name; break; } } List <ImportTraceDataValue> firstTaskLatencyValues = new List <ImportTraceDataValue>(); long startTime = -1; for (int i = 0; i < traceDataList.Count; i++) { if (traceDataList[i].TaskName == firstTaskName) { if (traceDataList[i].ColumnName == "Start Time") { startTime = traceDataList[i].Value; } if (startTime != -1) { long totalDuration = startTime; totalDuration = totalDuration - ((traceDataList[i].Connection - 1) * resultTaskCollection.TimeBetweenConnections); firstTaskLatencyValues.Add(new ImportTraceDataValue(traceDataList[i].TaskName, "Total Duration", totalDuration, traceDataList[i].Connection)); startTime = -1; } } } return(firstTaskLatencyValues); }
private void Initialize(List <ImportTraceDataValue> traceDataList, List <CalculatedPerformanceCounter> performanceCounters, List <RanTaskInfo> ranTaskInfo, ResultTaskCollection resultTaskCollection, ResultInfo resultInfo) { FireMessageToMainFormEvent("Status: Parsing Results..."); Text = string.Format("{0} - Results", GenericHelper.ApplicationName); GenericHelper.SetSize(this, ConfigHandler.ResultsWindowSize); MinimumSize = new Size(700, 500); // error in .NET FillRecentFilesMenu(); SearchHistoryHandler.LoadItems(objectNameComboBox, "RecentListObjectName"); SearchHistoryHandler.LoadItems(counterNameComboBox, "RecentListCounterName"); SearchHistoryHandler.LoadItems(instanceNameComboBox, "RecentListInstanceName"); descriptionTextBox.GotFocus += DescriptionTextBox_GotFocus; shownTextBox.GotFocus += ShownTextBox_GotFocus; ImageList imageList = new ImageList(); imageList.Images.Add(PerformanceTestTool.Properties.Resources.cogtab); tabControlEX1.ImageList = imageList; tabControlEX1.TabPages.Clear(); performanceCounterListView.Items.Clear(); stylesheetComboBox.Items.Clear(); _listViewColumnSorter = new ListViewColumnSorter(); performanceCounterListView.ListViewItemSorter = _listViewColumnSorter; _performanceCounters = performanceCounters; ShowPerformanceCounterResults(performanceCounters, resultTaskCollection.PerformanceCountersSamples, resultTaskCollection.PerformanceCountersSamplingInterval); UpdateShownTextBox(); List <TabPage> tabPages = GetTabPages(traceDataList, resultTaskCollection, ranTaskInfo); AddTabPages(tabPages); _splitterDistance = GetSplitterDistance(); _xml = GetXml(resultTaskCollection, resultInfo); SetXmlFile(); XmlHelper.WriteXmlToFile(_xml, _xmlFileName); }