Ejemplo n.º 1
0
 /**
  * @expectedException InvalidArgumentException
  * @expectedExceptionMessage Unknown multiplier
  */
 public function testGetMultiplierByStringWithBadMultiplierString()
 {
     MemoryParser::parse('0%, 1024 B of 1 PB / 1023 KB free');
 }
Ejemplo n.º 2
0
 /**
  * @param int $id
  *
  * @return VirtualServerStatsEntity
  */
 private function getVirtualServerStatsById($id)
 {
     $response = $this->makeRequest(sprintf('virtual-servers/get_stats?id=%d&_dc=%s', $id, time()), 'json');
     $diskUsageStat = new DiskUsageStatEntity();
     $stats = new VirtualServerStatsEntity();
     $stats->setDiskUsage($diskUsageStat);
     foreach ($response->data as $property) {
         switch ($property->parameter) {
             case 'CPU load average':
                 if ($property->value !== '-') {
                     $stats->setCPULoadAverage([(double) $property->value->percent]);
                 }
                 break;
             case 'Disk usage':
                 if ($property->value !== '-') {
                     $stat = MemoryParser::parse($property->value->text);
                     $diskMount = new DiskUsageMountEntity();
                     $diskMount->setMountPoint('/')->setUsagePercent($stat['percent'])->setTotalSize($stat['total'])->setFreeSize($stat['free'])->setUsedSize($stat['used']);
                     $diskUsageStat->addMountPoint($diskMount);
                 }
                 break;
             case 'Memory usage':
                 if ($property->value !== '-') {
                     $stat = MemoryParser::parse($property->value->text);
                     $ramUsage = new RamUsageStatEntity();
                     $ramUsage->setUsagePercent($stat['percent'])->setTotalSize($stat['total'])->setFreeSize($stat['free'])->setUsedSize($stat['used']);
                     $stats->setRamUsage($ramUsage);
                 }
                 break;
             default:
                 throw new InvalidArgumentException(sprintf('Unknown property "%s"'), $property->parameter);
         }
     }
     return $stats;
 }