예제 #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
 //Добавление измеряемого метода в список
 protected void AddMethod(MethodTracingResult methodResult)
 {
     //если стек методов не пустой
     if (threadMethods.Count > 0)
     {
         threadMethods.Peek().addInnerMethod(methodResult);
     }
     else
     {
         tracedMethods.Add(methodResult);
     }
     threadMethods.Push(methodResult);
 }
예제 #3
0
 //Начало замера
 public void StartTracingMethod(MethodTracingResult methodResult)
 {
     AddMethod(methodResult);
     methodResult.startTracing();
 }
예제 #4
0
 public void addInnerMethod(MethodTracingResult method)
 {
     innerMethods.Add(method);
 }