2009-10-13 1 views
1

응용 프로그램 (실제로 Windows 서비스)의 처리량을 추적하기 위해 C#의 성능 카운터를 사용하려고합니다. 하지만이 문제를 해결하는 방법에 대한 질문이 있습니다 ... 내 응용 프로그램은 XML 문서를 구문 분석하고 단위 시간당 얼마나 많은 문서가 구문 분석되는지 모니터링하려고합니다. 문서를 구문 분석 할 때마다 _counter.Increment()를 사용하고 있지만, 항상 구문 분석 된 문서의 총 개수 (평면 그래프)가됩니다. 샘플링 할 간격을 설정할 수있는 멋진 플롯을 만들고 그 간격 내에서 카운트를 얻고 싶습니다.성능 카운터를 사용하여 응용 프로그램 처리량을 추적하는 방법

성능 카운터를 사용할 수 있습니까? 아니면 다른 방법을 사용해야합니까?

감사합니다.

+0

확실하지 않습니다. 나는 비슷한 것을 보아 왔으며이 기사를 가이드로 사용할 것이다 : http://www.codeproject.com/KB/aspnet/DOTNETBestPractices3.aspx – kenny

답변

3

에 추가 할 수 있습니다 예를 들어 다른 카운터 유형을 사용해야합니다. 예를 들어 :

PerformanceCounterType.RateOfCountsPerSecond32

각 항목에 대해이 증가하면

, 그것은 (당신이 PerformanceCounterType.NumberOfItems32로 무엇을 얻을입니다) 초당 카운트 대신 총 수와 같은 성능에 표시됩니다.

0

파일 구문 분석을 마칠 때 항상 카운터를 감소시킬 수 있습니다. 이 방법을 사용하면 어느 한 시점에서 활성 구문 분석의 수를 얻을 수 있습니다.이 구문 분석은 다른 간격을 갖기 때문에 사실상 비선형 그래프를 제공합니다.

0

쉬운, 당신은 쉽게 전체가 다 공제 할 수 있으며, 문서를 (그래서 하나 개의 큰 배열)이 데이터 제공

완료 될 때의 타임 스탬프를 저장하는 처리 속도, 시간 단계 등 당 속도 변화 이러한 통계를하는 등

는 엑셀 (단지로 시작하는)을 수행 할 수 있습니다, 당신은 항목의 비율을보고 싶다면 나중에 어떤 멋진 그래프 라이브러리는 초당 (소프트웨어