示例#1
0
 /**
  *  Convert data array into entity
  *
  *  @return mixed
  *  @param array $data
  *  @access public
  */
 public function build($data)
 {
     $obj = new Stats();
     # bind the db id and date the monitor covers
     $obj->setComplete($data['monitor_complete']);
     $obj->setMonitorId($data['monitor_id']);
     if ($data['monitor_dte'] instanceof DateTime) {
         $obj->setMonitorDate($data['monitor_dte']);
     }
     # bind worker run times
     $obj->setWorkerMaxTime($data['worker_max_time']);
     $obj->setWorkerMinTime($data['worker_min_time']);
     $obj->setWorkerMeanTime($data['worker_mean_time']);
     # bind the worker throughput
     $obj->setWorkerMaxThroughput($data['worker_max_throughput']);
     $obj->setWorkerMeanThroughput($data['worker_mean_throughput']);
     $obj->setWorkerMeanUtilization($data['worker_mean_utilization']);
     # bind queue stats
     $obj->setQueueJobsAdded($data['queue_no_waiting_jobs']);
     $obj->setQueueJobsCompleted($data['queue_no_completed_jobs']);
     $obj->setQueueJobsError($data['queue_no_error_jobs']);
     $obj->setQueueJobsFailed($data['queue_no_failed_jobs']);
     $obj->setQueueJobsProcessing($data['queue_no_processing_jobs']);
     # set the job runtimes
     $obj->setJobMaxServiceTime($data['queue_max_service_time']);
     $obj->setJobMinServiceTime($data['queue_min_service_time']);
     $obj->setJobMeanServiceTime($data['queue_mean_service_time']);
     return $obj;
 }
示例#2
0
 public function testDemolish()
 {
     $entity = new Stats();
     $monitor_id = 1;
     $monitor_date = new DateTime();
     $worker_max_runtime = 60 * 5;
     $worker_min_runtime = 60 * 2;
     $worker_mean_runtime = 60 * 3;
     $worker_mean_throughput = 100;
     $worker_max_throughput = 100;
     $worker_mean_utilization = 50;
     $monitor_complete = false;
     $queue_no_waiting_jobs = 100;
     $queue_no_completed_jobs = 600;
     $queue_no_error_jobs = 500;
     $queue_no_failed_jobs = 400;
     $queue_no_processing_jobs = 300;
     $queue_max_service_time = 350;
     $queue_min_service_time = 375;
     $queue_mean_service_time = 677;
     $entity->setMonitorId($monitor_id);
     $entity->setMonitorDate($monitor_date);
     $entity->setWorkerMaxTime($worker_max_runtime);
     $entity->setWorkerMinTime($worker_min_runtime);
     $entity->setWorkerMeanTime($worker_mean_runtime);
     $entity->setWorkerMeanThroughput($worker_mean_throughput);
     $entity->setWorkerMaxThroughput($worker_max_throughput);
     $entity->setWorkerMeanUtilization($worker_mean_utilization);
     $entity->setComplete($monitor_complete);
     $entity->setQueueJobsAdded($queue_no_waiting_jobs);
     $entity->setQueueJobsCompleted($queue_no_completed_jobs);
     $entity->setQueueJobsError($queue_no_error_jobs);
     $entity->setQueueJobsFailed($queue_no_failed_jobs);
     $entity->setQueueJobsProcessing($queue_no_processing_jobs);
     $entity->setJobMaxServiceTime($queue_max_service_time);
     $entity->setJobMinServiceTime($queue_min_service_time);
     $entity->setJobMeanServiceTime($queue_mean_service_time);
     $builder = new StatsBuilder();
     $data = $builder->demolish($entity);
     $this->assertEquals($data, array('monitor_id' => $monitor_id, 'monitor_complete' => $monitor_complete, 'monitor_dte' => $monitor_date, 'worker_max_time' => $worker_max_runtime, 'worker_min_time' => $worker_min_runtime, 'worker_mean_time' => $worker_mean_runtime, 'worker_max_throughput' => $worker_max_throughput, 'worker_mean_throughput' => $worker_mean_throughput, 'worker_mean_utilization' => $worker_mean_utilization, 'queue_no_waiting_jobs' => $queue_no_waiting_jobs, 'queue_no_completed_jobs' => $queue_no_completed_jobs, 'queue_no_error_jobs' => $queue_no_error_jobs, 'queue_no_failed_jobs' => $queue_no_failed_jobs, 'queue_no_processing_jobs' => $queue_no_processing_jobs, 'queue_max_service_time' => $queue_max_service_time, 'queue_min_service_time' => $queue_min_service_time, 'queue_mean_service_time' => $queue_mean_service_time));
 }