Contact Info

Crumbtrail

ActiveXperts.com » Administration » Scripts » WMI » jscript sample

Win32_PerfFormattedData_NETFramework_NETCLRMemory jscript sample code

The foundations for Manageability in Windows is Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).

ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself. The Win32_PerfFormattedData_NETFramework_NETCLRMemory WMI class can be used in ActiveXperts Network Monitor to monitor your servers.


Sample Code

var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;

var arrComputers = new Array("\localhost");
for (i = 0; i < arrComputers.length; i++) {
   WScript.Echo();
   WScript.Echo("==========================================");
   WScript.Echo("Computer: " + arrComputers[i]);
   WScript.Echo("==========================================");

   var objWMIService = GetObject("winmgmts:\\\\" + arrComputers[i] + "\\root\\CIMV2");
   var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PerfFormattedData_NETFramework_NETCLRMemory", "WQL",
                                          wbemFlagReturnImmediately | wbemFlagForwardOnly);

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

      WScript.Echo("AllocatedBytesPersec: " + objItem.AllocatedBytesPersec);
      WScript.Echo("Caption: " + objItem.Caption);
      WScript.Echo("Description: " + objItem.Description);
      WScript.Echo("FinalizationSurvivors: " + objItem.FinalizationSurvivors);
      WScript.Echo("Frequency_Object: " + objItem.Frequency_Object);
      WScript.Echo("Frequency_PerfTime: " + objItem.Frequency_PerfTime);
      WScript.Echo("Frequency_Sys100NS: " + objItem.Frequency_Sys100NS);
      WScript.Echo("Gen0heapsize: " + objItem.Gen0heapsize);
      WScript.Echo("Gen0PromotedBytesPerSec: " + objItem.Gen0PromotedBytesPerSec);
      WScript.Echo("Gen1heapsize: " + objItem.Gen1heapsize);
      WScript.Echo("Gen1PromotedBytesPerSec: " + objItem.Gen1PromotedBytesPerSec);
      WScript.Echo("Gen2heapsize: " + objItem.Gen2heapsize);
      WScript.Echo("LargeObjectHeapsize: " + objItem.LargeObjectHeapsize);
      WScript.Echo("Name: " + objItem.Name);
      WScript.Echo("NumberBytesinallHeaps: " + objItem.NumberBytesinallHeaps);
      WScript.Echo("NumberGCHandles: " + objItem.NumberGCHandles);
      WScript.Echo("NumberGen0Collections: " + objItem.NumberGen0Collections);
      WScript.Echo("NumberGen1Collections: " + objItem.NumberGen1Collections);
      WScript.Echo("NumberGen2Collections: " + objItem.NumberGen2Collections);
      WScript.Echo("NumberInducedGC: " + objItem.NumberInducedGC);
      WScript.Echo("NumberofPinnedObjects: " + objItem.NumberofPinnedObjects);
      WScript.Echo("NumberofSinkBlocksinuse: " + objItem.NumberofSinkBlocksinuse);
      WScript.Echo("NumberTotalcommittedBytes: " + objItem.NumberTotalcommittedBytes);
      WScript.Echo("NumberTotalreservedBytes: " + objItem.NumberTotalreservedBytes);
      WScript.Echo("PercentTimeinGC: " + objItem.PercentTimeinGC);
      WScript.Echo("PromotedFinalizationMemoryfromGen0: " + objItem.PromotedFinalizationMemoryfromGen0);
      WScript.Echo("PromotedFinalizationMemoryfromGen1: " + objItem.PromotedFinalizationMemoryfromGen1);
      WScript.Echo("PromotedMemoryfromGen0: " + objItem.PromotedMemoryfromGen0);
      WScript.Echo("PromotedMemoryfromGen1: " + objItem.PromotedMemoryfromGen1);
      WScript.Echo("Timestamp_Object: " + objItem.Timestamp_Object);
      WScript.Echo("Timestamp_PerfTime: " + objItem.Timestamp_PerfTime);
      WScript.Echo("Timestamp_Sys100NS: " + objItem.Timestamp_Sys100NS);
   }
}