divisor = $divisor; $this->nextUnit = $nextUnit; } } $timeFormattingData = array(); $timeFormattingData[ MILLISECONDS ] = new TimeUnitFormattingData( 1000, SECONDS ); $timeFormattingData[ SECONDS ] = new TimeUnitFormattingData( 60, MINUTES ); $timeFormattingData[ MINUTES ] = new TimeUnitFormattingData( 60, HOURS ); $timeFormattingData[ HOURS ] = new TimeUnitFormattingData( 24, DAYS ); $timeFormattingData[ DAYS ] = new TimeUnitFormattingData( 7, WEEKS ); function FormatTime( $originalTime, $originalUnit ) { global $timeFormattingData; $formattedTime = $originalTime; $formattedUnit = $originalUnit; $timeFormattingStr = "%f %s"; foreach ( $timeFormattingData as $unit => $data ) { if ( $formattedUnit == $unit && $formattedTime > $data->divisor ) { $formattedTime /= $data->divisor; $formattedUnit = $data->nextUnit; } } return sprintf( $timeFormattingStr, $formattedTime, $formattedUnit ); } class ServerHealthPageRecord { var $timeStamp; var $cpuUtilization; var $upTime; var $adminOpsQueueSize; var $clientOpsQueueSize; var $siteOpsQueueSize; var $avgClientOpTime; var $totalOpTime; var $totalPhysicalMemory; var $physicalMemoryUsed; var $totalVirtualMemory; var $virtualMemoryUsed; function ServerHealthPageRecord() { $this->timeStamp = 0; $this->cpuUtilization = 0; $this->upTime = 0; $this->adminOpsQueueSize = 0; $this->clientOpsQueueSize = 0; $this->siteOpsQueueSize = 0; $this->avgClientOpTime = 0; $this->totalOpTime = 0; $this->totalPhysicalMemory = 0; $this->physicalMemoryUsed = 0; $this->totalVirtualMemory = 0; $this->virtualMemoryUsed = 0; } function GetProps( $serverAdmin ) { $this->timeStamp = date( "D, j M Y, g:i:s a T" ); $props = $serverAdmin->GetInformationProperties(); $prop = $props->GetItem( MgServerInformationProperties::CpuUtilization ); $this->cpuUtilization = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::Uptime ); $this->upTime = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::AdminOperationsQueueCount ); $this->adminOpsQueueSize = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::ClientOperationsQueueCount ); $this->clientOpsQueueSize = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::SiteOperationsQueueCount ); $this->siteOpsQueueSize = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::AverageOperationTime ); $this->avgClientOpTime = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::TotalOperationTime ); $this->totalOpTime = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::TotalProcessedOperations ); $this->totalOpsProcessed = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::TotalReceivedOperations ); $this->totalOpsReceived = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::TotalPhysicalMemory ); $this->totalPhysicalMemory = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::AvailablePhysicalMemory ); $physicalMemoryAvailable = $prop->GetValue(); $this->physicalMemoryUsed = $this->totalPhysicalMemory - $physicalMemoryAvailable; $prop = $props->GetItem( MgServerInformationProperties::TotalVirtualMemory ); $this->totalVirtualMemory = $prop->GetValue(); $prop = $props->GetItem( MgServerInformationProperties::AvailableVirtualMemory ); $virtualMemoryAvailable = $prop->GetValue(); $this->virtualMemoryUsed = $this->totalVirtualMemory - $virtualMemoryAvailable; } function DisplayValsOnPage() { $formattedUpTime = FormatTime( $this->upTime, SECONDS ); echo '
Time of status check: | ',"\n"; echo '',$this->timeStamp,' | ',"\n"; echo '
',"\n"; echo ' | |
CPU usage: | ',"\n"; echo '',$this->cpuUtilization,'% | ',"\n"; echo '
Up time: | ',"\n"; echo '',$formattedUpTime,' | ',"\n"; echo '
',"\n"; echo ' | |
Admin operations queued: | ',"\n"; echo '',$this->adminOpsQueueSize,' | ',"\n"; echo '
Client operations queued: | ',"\n"; echo '',$this->clientOpsQueueSize,' | ',"\n"; echo '
Site operations queued: | ',"\n"; echo '',$this->siteOpsQueueSize,' | ',"\n"; echo '
Average client operation time: | ',"\n"; echo '',$this->avgClientOpTime,' milliseconds | ',"\n"; echo '
Total operation time: | ',"\n"; echo '',$this->totalOpTime,' seconds | ',"\n"; echo '
Total operations processed: | ',"\n"; echo '',$this->totalOpsProcessed,' | ',"\n"; echo '
Total operations received: | ',"\n"; echo '',$this->totalOpsReceived,' | ',"\n"; echo '
',"\n"; echo ' | |
Total physical memory: | ',"\n"; echo '',$this->totalPhysicalMemory/1024,' KB | ',"\n"; echo '
Physical memory used: | ',"\n"; echo '',$this->physicalMemoryUsed/1024,' KB | ',"\n"; echo '
Total virtual memory: | ',"\n"; echo '',$this->totalVirtualMemory/1024,' KB | ',"\n"; echo '
Virtual memory used: | ',"\n"; echo '',$this->virtualMemoryUsed/1024,' KB | ',"\n"; echo '
DisplayValsOnPage(); ?>