2011-11-30 3 views
5

.NET (MVC) 프로젝트에서 메서드를 실행하는 데 걸리는 시간을 기록하고이를 NLog을 사용하여 기록하는 간단하고 재사용 가능한 방법을 찾고 있습니다. 아무도이 구현하는 방법에 대한 제안이 있다면 궁금해?C#에서 메서드를 실행하는 데 걸리는 시간을 효율적으로 기록하는 방법

깨끗한 코드와 가독성을 유지하려면 가능한 경우 코드에 코드를 통합 할 필요가 없습니다.

누구나 의견이 있으면 알려주세요.

+0

반드시 로깅을위한 것은 아니지만 ... EQATEC Profiler는 프로파일 링이 더 좋습니다. 나는 다른 비슷한 도구들이 존재한다고 확신한다. 메소드 입력에 대한 어셈블리를 재 작성하여 타이밍 정보를 종료합니다. 최소한 관입은 ... –

답변

3

당신은 이것 좀해야 할 수 있습니다 :

http://code.google.com/p/mvc-mini-profiler/

스택 교환시 좋은 사람들이 글을 남겼습니다.

+1

주의 사항 : 약간의 코드를 추가 할 방법을 시간을 정하면됩니다. AOP를 통해 * 수행 할 수 있지만 성능은 특징입니다. 기능을 지원하는 코드를 작성하는 것이 좋습니다. –

10

사용 Stopwatch 클래스는

Stopwatch time = Stopwatch.StartNew(); 
time.Stop(); 
var milliseconds= time.ElapsedMilliseconds; 
+2

고마워. 이것이 내가 현재하고있는 일입니다. 방법에 코드를 작성하지 않고이를 구현하는 방법을 찾고 있습니다. 우리의 경우 – Nick

5

당신이 기존 코드를 변경하는 것을 방지하고자 언급하기 때문에, 이것은 AOP (Aspect 지향적 인 프로그래밍) 편리한

로 제공하는 경우 여기에 설명하는 블로그 게시물입니다입니다 정확히이 시나리오를 사용 PostSharp : http://theburningmonk.com/2010/03/aop-method-execution-time-watcher-with-postsharp/

+0

우리는 Amazon CloudWatch에이 timespan 메트릭을 게시하여 우리가 무슨 일이 일어나고 있는지 실시간으로 볼 수 있고 그 메트릭 주위에 경보를 설정할 수 있으므로 대기 시간 문제가 발생했을 때 알림을받을 수 있습니다. 신속하게 대응하십시오 (http://theburningmonk.com/2012/03/recording-for-my-webinar-with-postsharp/) – theburningmonk

관련 문제