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);
        }
Example #2
0
        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();
     }
 }