private MethodtoJson TransformMethodInfo(MethodTrace methodTrace) { MethodtoJson mth = new MethodtoJson(); mth.name = methodTrace.name; mth.classname = methodTrace.classname; mth.time = methodTrace.time; mth.methods = new List <MethodtoJson>(); foreach (MethodTrace nestedMethodTrace in methodTrace._nestedStack) { MethodtoJson nestedmth = TransformMethodInfo(nestedMethodTrace); if (nestedmth != null) { mth.methods.Add(nestedmth); } } return(mth); }
public string Serialize(TraceResult traceResult) { JSONFile jsfile = new JSONFile(); jsfile.threads = new List <ThreadstoJson>(); foreach (KeyValuePair <int, ThreadInfo> threadInfo in traceResult._threadList) { ThreadstoJson threadjs = new ThreadstoJson(); threadjs.id = threadInfo.Key; threadjs.time = threadInfo.Value._thread_time; threadjs.methods = new List <MethodtoJson>(); foreach (MethodTrace tracedMethod in threadInfo.Value._methods) { MethodtoJson mth = TransformMethodInfo(tracedMethod); threadjs.methods.Add(mth); } jsfile.threads.Add(threadjs); } return(JSONConfig(jsfile)); }