public function transferanddiskAction()
 {
     $system = new System();
     $latestRecord = $system->findOne([], ['timeCreated' => -1])->getFields();
     $oneWeekAgo = $system->findOne(['timeCreated' => ['$gte' => new \MongoDate(strtotime('-1 week'))]], ['timeCreated' => 1])->getFields();
     $oneMonthAgo = $system->findOne(['timeCreated' => ['$gte' => new \MongoDate(strtotime('-1 month'))]], ['timeCreated' => 1])->getFields();
     $oneDayAgo = $system->findOne(['timeCreated' => ['$gte' => new \MongoDate(strtotime('-1 day'))]], ['timeCreated' => 1])->getFields();
     $formatter = new formatter();
     return ['monthlyTransfer' => $formatter->formatBytes($latestRecord['transferOut'] - $oneMonthAgo['transferOut']), 'weeklyTransfer' => $formatter->formatBytes($latestRecord['transferOut'] - $oneWeekAgo['transferOut']), 'dailyTransfer' => $formatter->formatBytes($latestRecord['transferOut'] - $oneDayAgo['transferOut'])];
 }
 /**
  * Perform command.
  */
 public function perform()
 {
     $sysDevice = new systemReportDevice(new formatter());
     $collector = new System();
     $collector->loadPercent = $sysDevice->getLoadPercent();
     $collector->memFree = $sysDevice->getMemFree();
     $collector->memTotal = $sysDevice->getMemTotal();
     $collector->diskFree = $sysDevice->getDiskFree();
     $collector->transferOut = $sysDevice->bandwidthOut();
     $collector->transferIn = $sysDevice->bandwidthIn();
     $collector->diskTotal = $sysDevice->getDiskTotal();
     $collector->collectedAt = time();
     print $collector->save();
 }