2015-02-02 1 views
0

을 전달하는 PerformanceCounterCategory.Create 메서드로 만든 .NET 응용 프로그램에 성능 카운터가 있습니다.어떻게 System.Diagnostics.PerformanceData.CounterSet을 만들고 사용합니까?

저는 Powershell의 Get-Counter 명령을 사용하여 방금 재생했습니다.이 명령은 -ListSet 매개 변수를 사용합니다. 당신은 실행하면 :

Get-Counter -ListSet * | select countersetname | sort countersetname 

당신은 당신이 가능한 카운터 범주의 perfmon.exe를의 목록에 표시되는 것과 매우 유사한 목록이 표시됩니다.

문제는 위의 명령에서 내 카테고리가 반환되지 않는다는 것입니다.

"카운터 범주"와 "카운터 집합"은 분명히 다른 개념입니다. .NET에서 가장 가까운 것은 System.Diagnostics.PerformanceData.CounterSet입니다. 문제는 이러한 "카운터 세트"를 만드는 방법에 대한 좋은 문서 나 샘플이 없다는 것입니다.

CounterSet 내가 필요한 것? 어떻게 사용합니까?

답변

0

내 Powershell 세션에서 (진단되지 않은) 이상 이었음이 나타납니다. 내 파워 쉘 ISE (관리자가 아닌)에서이를 실행했을 때 나는 다음과 같은 오류가 발생했습니다 :

> Get-Counter -ListSet MyCategory 
Get-Counter : Cannot find any performance counter sets on the localhost computer that match the following: MyCategory. 
At line:1 char:1 
+ Get-Counter -ListSet MyCategory 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : ObjectNotFound: (:) [Get-Counter], Exception 
    + FullyQualifiedErrorId : NoMatchingCounterSetsFound,Microsoft.PowerShell.Commands.GetCounterCommand 

호기심 직접 이름으로 카운터를 검색하려고하면이 오류 제공 :

>Get-Counter -Counter "\MyCategory\MyCounter" 
Get-Counter : Internal performance counter API call failed. Error: c0000bb8. 
At line:1 char:1 
+ Get-Counter -Counter "\MyCategory\MyCounter" 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidResult: (:) [Get-Counter], Exception 
    + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand 

을하지만 .. . 내가 새로운 Powershell 세션에서 (비 관리자 일지라도) 그것을 실행했을 때 그것은 정상적으로 작동했습니다.

그래서 내 질문에 대한 답변 : PerformanceCounterCategory와 "카운터 세트"는 같은 것으로 보입니다.