성능 카운터 범주 중 일부가 때때로 누락되는 것 같습니다. 이유는 알 수 없습니다.성능 카운터가 누락되었습니다.
아래의 코드는 다음과 같이 예외가 발생합니다 : 장르가 존재하지 않습니다
이 오류 메시지가 성능 범주를 조회 할
을하지 못했습니다. 범주 이름 : HP EVA 실제 디스크
그룹 범주 대상 목록 :
ServiceModelService 4.0.
즐 즐
인쇄 밖으로 긴 성능 카운터의 목록,하지만 난 후 하나 포함되어 있습니다. perfmon.exe를 보면 빠진 범주를 한 번 찾을 수 있습니다.
다음 코드를 사용하여 카테고리 내의 다른 카운터를 찾습니다.
public static string[] GetPerformanceCategory(string CategoryName)
{
//Console.WriteLine("CategoryName to Search for: " + CategoryName);
if (string.IsNullOrEmpty(CategoryName))
throw new NullReferenceException("CategoryName is empty");
try
{
PerformanceCounterCategory perfCat = new PerformanceCounterCategory(CategoryName);
string[] catInstances = perfCat.GetInstanceNames();
return catInstances;
}
catch(Exception Ex)
{
StringBuilder ErrorMsg = new StringBuilder();
ErrorMsg.AppendLine("Failed to lookup Preformance Category");
ErrorMsg.AppendLine("Error Msg: " + Ex.Message);
ErrorMsg.AppendLine("CategoryName: " + CategoryName);
ErrorMsg.AppendLine("Category list on target:");
StringBuilder CatList = new StringBuilder();
var categories = PerformanceCounterCategory.GetCategories();
foreach (var Cat in categories)
CatList.AppendLine(Cat.CategoryName);
ErrorMsg.AppendLine(CatList.ToString());
Logger.WriteToLog(ErrorMsg.ToString(), EventLogEntryType.Error);
return null;
}
}
질문은 성능 카운터를 사라지게 할 수있는 "마법"이 있습니까? 아니면 뭔가 구체적으로해야합니까?
CategoryName과 같은 소리가 "HP EVA Physical Disk \ nGroup"으로 설정됩니다. 그 맞습니까? –
예. 그게 내가 원하는 걸. 하지만 물론 no \ n? 사본이 과거의 오류였습니까? – EKS
죄송합니다. 의견에서 캐리지 리턴을 얻을 수 없습니다. "Disk"와 "Group"사이에 개행 문자가있는 것처럼 보였습니다. 거기에 개행 문자가있는 것처럼 보이는 예외 메시지를 보면 알 수 있습니다. 어느 쪽이든 목록에 나타나지 않는다고 말하면 아무 문제가없는 것 같아요. –