Contact Info

Crumbtrail

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

Win32_PerfFormattedData_ESENT perl 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_ESENT WMI class can be used in ActiveXperts Network Monitor to monitor your servers.


Sample Code

use Win32::OLE('in');

my $computer = ".";

my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n";
my $colItems = $objWMIService->ExecQuery("SELECT * FROM Win32_PerfFormattedData_ESENT_Database", "WQL");

foreach my $objItem (in $colItems) {
	print "Caption: $objItem->{Caption}\n";
	print "DatabaseCacheMemoryCommitted: $objItem->{DatabaseCacheMemoryCommitted}\n";
	print "DatabaseCacheMemoryCommittedMB: $objItem->{DatabaseCacheMemoryCommittedMB}\n";
	print "DatabaseCacheMemoryReserved: $objItem->{DatabaseCacheMemoryReserved}\n";
	print "DatabaseCacheMemoryReservedMB: $objItem->{DatabaseCacheMemoryReservedMB}\n";
	print "DatabaseCacheMissesPersec: $objItem->{DatabaseCacheMissesPersec}\n";
	print "DatabaseCachePercentDehydrated: $objItem->{DatabaseCachePercentDehydrated}\n";
	print "DatabaseCachePercentHit: $objItem->{DatabaseCachePercentHit}\n";
	print "DatabaseCachePercentHitUncorrelated: $objItem->{DatabaseCachePercentHitUncorrelated}\n";
	print "DatabaseCacheRequestsPersec: $objItem->{DatabaseCacheRequestsPersec}\n";
	print "DatabaseCacheSize: $objItem->{DatabaseCacheSize}\n";
	print "DatabaseCacheSizeEffective: $objItem->{DatabaseCacheSizeEffective}\n";
	print "DatabaseCacheSizeEffectiveMB: $objItem->{DatabaseCacheSizeEffectiveMB}\n";
	print "DatabaseCacheSizeMB: $objItem->{DatabaseCacheSizeMB}\n";
	print "DatabaseCacheSizeResident: $objItem->{DatabaseCacheSizeResident}\n";
	print "DatabaseCacheSizeResidentMB: $objItem->{DatabaseCacheSizeResidentMB}\n";
	print "DatabaseMaintenanceDuration: $objItem->{DatabaseMaintenanceDuration}\n";
	print "DatabaseMaintenancePagesBadChecksums: $objItem->{DatabaseMaintenancePagesBadChecksums}\n";
	print "DatabasePageEvictionsPersec: $objItem->{DatabasePageEvictionsPersec}\n";
	print "DatabasePageFaultsPersec: $objItem->{DatabasePageFaultsPersec}\n";
	print "DatabasePageFaultStallsPersec: $objItem->{DatabasePageFaultStallsPersec}\n";
	print "DefragmentationTasks: $objItem->{DefragmentationTasks}\n";
	print "DefragmentationTasksPending: $objItem->{DefragmentationTasksPending}\n";
	print "Description: $objItem->{Description}\n";
	print "Frequency_Object: $objItem->{Frequency_Object}\n";
	print "Frequency_PerfTime: $objItem->{Frequency_PerfTime}\n";
	print "Frequency_Sys100NS: $objItem->{Frequency_Sys100NS}\n";
	print "IODatabaseReadsAttachedAverageLatency: $objItem->{IODatabaseReadsAttachedAverageLatency}\n";
	print "IODatabaseReadsAttachedPersec: $objItem->{IODatabaseReadsAttachedPersec}\n";
	print "IODatabaseReadsAverageLatency: $objItem->{IODatabaseReadsAverageLatency}\n";
	print "IODatabaseReadsPersec: $objItem->{IODatabaseReadsPersec}\n";
	print "IODatabaseReadsRecoveryAverageLatency: $objItem->{IODatabaseReadsRecoveryAverageLatency}\n";
	print "IODatabaseReadsRecoveryPersec: $objItem->{IODatabaseReadsRecoveryPersec}\n";
	print "IODatabaseWritesAttachedAverageLatency: $objItem->{IODatabaseWritesAttachedAverageLatency}\n";
	print "IODatabaseWritesAttachedPersec: $objItem->{IODatabaseWritesAttachedPersec}\n";
	print "IODatabaseWritesAverageLatency: $objItem->{IODatabaseWritesAverageLatency}\n";
	print "IODatabaseWritesPersec: $objItem->{IODatabaseWritesPersec}\n";
	print "IODatabaseWritesRecoveryAverageLatency: $objItem->{IODatabaseWritesRecoveryAverageLatency}\n";
	print "IODatabaseWritesRecoveryPersec: $objItem->{IODatabaseWritesRecoveryPersec}\n";
	print "IOLogReadsAverageLatency: $objItem->{IOLogReadsAverageLatency}\n";
	print "IOLogReadsPersec: $objItem->{IOLogReadsPersec}\n";
	print "IOLogWritesAverageLatency: $objItem->{IOLogWritesAverageLatency}\n";
	print "IOLogWritesPersec: $objItem->{IOLogWritesPersec}\n";
	print "LogBytesGeneratedPersec: $objItem->{LogBytesGeneratedPersec}\n";
	print "LogBytesWritePersec: $objItem->{LogBytesWritePersec}\n";
	print "LogRecordStallsPersec: $objItem->{LogRecordStallsPersec}\n";
	print "LogThreadsWaiting: $objItem->{LogThreadsWaiting}\n";
	print "LogWritesPersec: $objItem->{LogWritesPersec}\n";
	print "Name: $objItem->{Name}\n";
	print "SessionsInUse: $objItem->{SessionsInUse}\n";
	print "SessionsPercentUsed: $objItem->{SessionsPercentUsed}\n";
	print "TableClosesPersec: $objItem->{TableClosesPersec}\n";
	print "TableOpenCacheHitsPersec: $objItem->{TableOpenCacheHitsPersec}\n";
	print "TableOpenCacheMissesPersec: $objItem->{TableOpenCacheMissesPersec}\n";
	print "TableOpenCachePercentHit: $objItem->{TableOpenCachePercentHit}\n";
	print "TableOpensPersec: $objItem->{TableOpensPersec}\n";
	print "TablesOpen: $objItem->{TablesOpen}\n";
	print "Timestamp_Object: $objItem->{Timestamp_Object}\n";
	print "Timestamp_PerfTime: $objItem->{Timestamp_PerfTime}\n";
	print "Timestamp_Sys100NS: $objItem->{Timestamp_Sys100NS}\n";
	print "VersionBucketsAllocated: $objItem->{VersionBucketsAllocated}\n";
	print "\n";
	print "########\n";
	print "\n";
}