public TracerResult(ConcurrentDictionary <int, ThreadTracer> cdThreadTracers) { dThreadTracerResults = new Dictionary <int, ThreadTracerResult>(); foreach (var threadTracer in cdThreadTracers) { dThreadTracerResults[threadTracer.Key] = ThreadTracerResult.GetTraceResult(threadTracer.Value); } }
private XElement SaveThread(ThreadTracerResult threadTracer) { return(new XElement("Thread", new XAttribute("Id", threadTracer.Id), new XAttribute("Time", threadTracer.Time.Milliseconds + "ms"), from methodTracerResult in threadTracer.lFirstLvlMethodTracersResult select SaveMethod(methodTracerResult) )); }
private JToken SaveThreads(ThreadTracerResult threadTracerResult) { var lFirstLvlMethods = from methodTracerResult in threadTracerResult.lFirstLvlMethodTracersResult select SaveMethods(methodTracerResult); return(new JObject { { "Id", threadTracerResult.Id }, { "Time", threadTracerResult.Time.Milliseconds + "ms" }, { "Methods", new JArray(lFirstLvlMethods) } }); }
public static ThreadTracerResult GetTraceResult(ThreadTracer threadTracer) { ThreadTracerResult threadTracerResult = new ThreadTracerResult(); threadTracerResult.lFirstLvlMethodTracersResult = new List <MethodTracerResult>(); threadTracerResult.Id = threadTracer.Id; threadTracerResult.Time = threadTracer.Time; foreach (var firstLvlMethodTracer in threadTracer.lFirstLvlMethodTracers) { threadTracerResult.lFirstLvlMethodTracersResult.Add(MethodTracerResult.GetTraceResult(firstLvlMethodTracer)); } return(threadTracerResult); }