public void Format(TotalTraceResult totalTraceResult) { XDocument xmlDoc; xmlDoc = new XDocument(); XElement rootElement = new XElement("root"); xmlDoc.Add(rootElement); foreach (List<TraceResult> listTraceResult in totalTraceResult.ThreadTraceResults) { double totalTime = 0; foreach (TraceResult traceResult in listTraceResult) { totalTime += traceResult.RunTime; } XElement threadElement = new XElement("thread", new XAttribute("id", listTraceResult[0].ThreadId)); XAttribute totalTimeAtribute = new XAttribute("time", totalTime); threadElement.Add(totalTimeAtribute); foreach (TraceResult traceResult in listTraceResult) { rootElement.Add(threadElement); Traverse(traceResult, threadElement); } } xmlDoc.Save(pathToXml); }
public TotalTraceResult GetTraceResult() { TotalTraceResult totalTraceResult = new TotalTraceResult(); lock (syncThreadTraceInfoDictionary) { foreach (KeyValuePair <int, ThreadTraceInfo> entry in ThreadTraceInfoDictionary) { if (entry.Value.StartedTraces.Count == 0) { totalTraceResult.ThreadTraceResults.Add(entry.Value.ThreadRootTraceResult); } } } return(totalTraceResult); }
public void Format(TotalTraceResult totalTraceResult) { foreach (List <TraceResult> listTraceResult in totalTraceResult.ThreadTraceResults) { double totalTime = 0; foreach (TraceResult traceResult in listTraceResult) { totalTime += traceResult.RunTime; } Console.WriteLine("-> Thread ID: {0}; Total Time: {1}", listTraceResult[0].ThreadId, totalTime); foreach (TraceResult traceResult in listTraceResult) { Traverse(traceResult, initialIndent); } Console.WriteLine(); } }