[C#] Simple Performance Logger

  • Post author:
  • Post category:
  • Post comments:0 Comments
  • Post last modified:December 8, 2005

PerformanceLogger는 어플리케이션의 각 구간별 실행시간을 측정하기 위한 객체다. 단순히 측정하고자 하는 구간의 시작지점과 종료지점을 지정해주는 것만으로 사용할 수 있다. 전문적인 프로필러를 사용하기 어려운 상황이거나, 간단히 병목지점을 파악하고자 할 때 유용하다.

PerformanceLogger는 System.Diagnostics.Trace와 같이 Singleton 패턴으로 구현되어서 사용하기 쉽다. 또한 다중쓰레드 환경에서도 잘 작동한다.

소스코드 다운로드: kaistizen.Diagnostics.zip

소스에는 예제가 함께 첨부되어 있으니 어떻게 작동하는지 쉽게 알 수 있다. 다음은 예제 소스코드의 일부와 그 결과 값이다.

PerformanceLogger.Instance.Mark("First Sleep",StartEndFlag.Start);
Thread.Sleep(5);
PerformanceLogger.Instance.Mark("First Sleep",StartEndFlag.End);
[Single Thread]
[Second Sleep] 00:00:00.1250000
[Third Sleep] 00:00:00.1875000
[First Sleep] 00:00:00.0156250

[Multi Thread]
[First Thread] 00:00:00.0468750
[Second Thread] 00:00:00.0937500

Press any key to continue
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments