понедельник, 27 августа 2012 г.

Получаем загрузку CPU из WEB страницы (IE)

Скрипт работает только в IE. Требуется добавить ваш сервер в надежные узлы и для них в параметрах безопасности включить "Разрешить сценарии" и включить "Разрешить использовать\запуск ActiveX".

<script language="javascript">
var myTimer;    // переменная управления таймером
var countCpu;   // сумма всех подсчетов cpu
var countCpuI;  // количество подсчетов cpu
var countMax;   // max значение cpu

function showCpu(){
 
  var obj = new ActiveXObject("WbemScripting.SWbemLocator");
  var s = obj.ConnectServer(".");
  var colItems = s.ExecQuery("SELECT * FROM Win32_Processor"); 

  var enumItems = new Enumerator(colItems); 
  for (; !enumItems.atEnd(); enumItems.moveNext()) { 
    var objItem = enumItems.item(); 
    var output;

    output= "Name: " + objItem.Name; 
    output= output + "MaxClockSpeed: " + objItem.MaxClockSpeed;                            
    output= output + "NumberOfCores: " + objItem.NumberOfCores; 
    output= output + "NumberOfLogicalProcessors: " +objItem.NumberOfLogicalProcessors; 
    output= output + "Caption: " + objItem.Caption;
    countCpu = countCpu + objItem.LoadPercentage;
    countCpuI = countCpuI + 1; 
    outputCpu = (countCpu/countCpuI | 0);

    var countCpuM = objItem.LoadPercentage;
    if ( countCpuM > countMax) { countMax=countCpuM }
                
    output= output + "Load cpu at moment: " + objItem.LoadPercentage;
  }
  document.getElementById("box").innerHTML=output;
  document.getElementById("cpu").innerHTML=outputCpu;
  document.getElementById("max").innerHTML=countMax;
}

function gogogo(a){

  if (a=="start")
    {
     myTimer = setInterval("showCpu();",500);
     countCpu=0;
     countCpuI=0;
     countMax=0;
    }
  if (a=="stop")
    {
     clearInterval( myTimer );
     summa();
    }
}
</script>
</head>

<body>
<input type="button" value="Start" onclick='gogogo("start")'>
<input type="button" value="Stop" onclick='gogogo("stop")'>

Load abs CPU: <div id="box"></div>
Load abs CPU: <div id="cpu"></div>
Load MAX CPU: <div id="max"></div>

Комментариев нет:

Отправить комментарий