Пример #1
0
        public void StartTrace()
        {
            MethodBase          methodBase   = new StackTrace().GetFrame(1).GetMethod();
            MethodTracingResult methodResult = new MethodTracingResult
            {
                ClassName  = methodBase.ReflectedType.Name,
                MethodName = methodBase.Name
            };
            ThreadTracingResult curThreadResult = traceResult.AddThreadResult(Thread.CurrentThread.ManagedThreadId);

            curThreadResult.StartTracingMethod(methodResult);
        }
Пример #2
0
        //Добавляет или возвращает уже существующий поток
        public ThreadTracingResult AddThreadResult(int id)
        {
            ThreadTracingResult result;

            //если поток уже есть, он заносится в result
            if (!threadResults.TryGetValue(id, out result))
            {
                result            = new ThreadTracingResult(id);
                threadResults[id] = result;
            }
            return(result);
        }