Changeset ed754fe in nscp for trunk/modules/CheckSystem


Ignore:
Timestamp:
12/11/07 21:34:14 (6 years ago)
Author:
Michael Medin <michael@…>
Children:
306c51b
Parents:
69a5c54
Message:

2007-12-11 MickeM

+ Added support for index-lookups of PDH counters (hopefully *all* local problems are now fixed (yeah right))

2007-12-10 MickeM

+ Added intial draft for LUA module

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/CheckSystem/PDHCollector.cpp

    r69a5c54 red754fe  
    6666    settings.setFile(NSCModuleHelper::getBasePath(),  _T("counters.defs"), true); 
    6767    std::wstring section = NSCModuleHelper::getSettingsString(C_SYSTEM_SECTION_TITLE, C_SYSTEM_FORCE_LANGUAGE, C_SYSTEM_FORCE_LANGUAGE_DEFAULT); 
     68    bool bUseIndex = false; 
    6869 
    6970    try { 
     
    7980        NSC_DEBUG_MSG_STD(_T("Autodetected NT4, using NT4 PDH counters.")); 
    8081        prefix = _T("NT4"); 
     82        bUseIndex = false; 
    8183        langId = systemInfo::GetSystemDefaultLangID(); 
    8284      } else if (systemInfo::isAboveW2K(osVer)) { 
    8385        NSC_DEBUG_MSG_STD(_T("Autodetected w2k or later, using w2k PDH counters.")); 
     86        bUseIndex = true; 
    8487        prefix = _T("W2K"); 
    8588        langId = systemInfo::GetSystemDefaultUILanguage(); 
     
    107110      return -1; 
    108111    } 
    109     pdh.addCounter(settings.getString(section, prefix + _T("_") + C_SYSTEM_MEM_PAGE_LIMIT, C_SYSTEM_MEM_PAGE_LIMIT_DEFAULT), &memCmtLim); 
    110     pdh.addCounter(settings.getString(section, prefix + _T("_") + C_SYSTEM_MEM_PAGE, C_SYSTEM_MEM_PAGE_DEFAULT), &memCmt); 
    111     pdh.addCounter(settings.getString(section, prefix + _T("_") + C_SYSTEM_UPTIME, C_SYSTEM_UPTIME_DEFAULT), &upTime); 
    112     pdh.addCounter(settings.getString(section, prefix + _T("_") + C_SYSTEM_CPU, C_SYSTEM_MEM_CPU_DEFAULT), &cpu); 
    113     try { 
     112 
     113    try { 
     114      std::wstring proc; 
     115      std::wstring uptime; 
     116      std::wstring memCl; 
     117      std::wstring memCb; 
     118      if (bUseIndex) { 
     119        NSC_DEBUG_MSG_STD(_T("Using index to retrive counternames")); 
     120        proc = _T("\\") + pdh.lookupIndex(238) + _T("(_total)\\") + pdh.lookupIndex(6); 
     121        uptime = _T("\\") + pdh.lookupIndex(2) + _T("\\") + pdh.lookupIndex(674); 
     122        memCl = _T("\\") + pdh.lookupIndex(4) + _T("\\") + pdh.lookupIndex(30); 
     123        memCb = _T("\\") + pdh.lookupIndex(4) + _T("\\") + pdh.lookupIndex(26); 
     124      } else { 
     125        proc = settings.getString(section, prefix + _T("_") + C_SYSTEM_CPU, C_SYSTEM_MEM_CPU_DEFAULT); 
     126        uptime = settings.getString(section, prefix + _T("_") + C_SYSTEM_UPTIME, C_SYSTEM_UPTIME_DEFAULT); 
     127        memCl = settings.getString(section, prefix + _T("_") + C_SYSTEM_MEM_PAGE_LIMIT, C_SYSTEM_MEM_PAGE_LIMIT_DEFAULT); 
     128        memCb = settings.getString(section, prefix + _T("_") + C_SYSTEM_MEM_PAGE, C_SYSTEM_MEM_PAGE_DEFAULT); 
     129      } 
     130      NSC_DEBUG_MSG_STD(_T("Found counternames: CPU:    ") + proc); 
     131      NSC_DEBUG_MSG_STD(_T("Found counternames: UPTIME: ") + uptime); 
     132      NSC_DEBUG_MSG_STD(_T("Found counternames: MCL:    ") + memCl); 
     133      NSC_DEBUG_MSG_STD(_T("Found counternames: MCB:    ") + memCb); 
     134      pdh.addCounter(proc, &cpu); 
     135      pdh.addCounter(uptime, &upTime); 
     136      pdh.addCounter(memCl, &memCmtLim); 
     137      pdh.addCounter(memCb, &memCmt); 
    114138      pdh.open(); 
    115139    } catch (const PDH::PDHException &e) { 
    116140      NSC_LOG_ERROR_STD(_T("Failed to open performance counters: ") + e.getError()); 
     141      pdh.removeAllCounters(); 
    117142      NSC_LOG_ERROR_STD(_T("Trying to use default (English) counters")); 
    118       pdh.removeAllCounters(); 
     143      SetThreadLocale(MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),SORT_DEFAULT)); 
    119144      pdh.addCounter(C_SYSTEM_MEM_PAGE_LIMIT_DEFAULT, &memCmtLim); 
    120145      pdh.addCounter(C_SYSTEM_MEM_PAGE_DEFAULT, &memCmt); 
Note: See TracChangeset for help on using the changeset viewer.