You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.0 KiB
73 lines
2.0 KiB
<?php |
|
|
|
class Stats_model extends CI_Model{ |
|
|
|
public function update_memory($serverid, $memory, $swap) |
|
{ |
|
$data = array('id' => $serverid, |
|
'used' => $memory, |
|
'swap' => $swap); |
|
$this->db->insert('stat-memory', $data); |
|
|
|
return; |
|
} |
|
|
|
public function update_load($serverid, $avg01, $avg05, $avg15) |
|
{ |
|
$data = array('id' => $serverid, |
|
'avg01' => $avg01, |
|
'avg05' => $avg05, |
|
'avg15' => $avg15); |
|
$this->db->insert('stat-load', $data); |
|
|
|
return; |
|
} |
|
|
|
public function update_cpu($serverid, $user, $system, $wait) |
|
{ |
|
$data = array('id' => $serverid, |
|
'user' => $user, |
|
'system' => $system, |
|
'wait' => $wait); |
|
$this->db->insert('stat-cpu', $data); |
|
|
|
return; |
|
} |
|
|
|
public function get_stats_cpu($serverid) |
|
{ |
|
$this->db->select('unix_timestamp(timestamp)*1000 AS time, user, system, wait'); |
|
$this->db->from('stat-cpu'); |
|
$this->db->where('id', $serverid); |
|
$this->db->where('timestamp >=', '(NOW() - interval 2 day)', FALSE); |
|
$this->db->order_by('timestamp', 'ASC'); |
|
|
|
$query = $this->db->get(); |
|
return $query->result_array(); |
|
} |
|
|
|
public function get_stats_load($serverid) |
|
{ |
|
$this->db->select('unix_timestamp(timestamp)*1000 AS time, avg01, avg05, avg15'); |
|
$this->db->from('stat-load'); |
|
$this->db->where('id', $serverid); |
|
$this->db->where('timestamp >=', '(NOW() - interval 2 day)', FALSE); |
|
$this->db->order_by('timestamp', 'ASC'); |
|
|
|
$query = $this->db->get(); |
|
return $query->result_array(); |
|
} |
|
|
|
public function get_stats_memory($serverid) |
|
{ |
|
$this->db->select('unix_timestamp(timestamp)*1000 AS time, round(used/1024,1) as used, round(swap/1024,1) as swap', FALSE); |
|
$this->db->from('stat-memory'); |
|
$this->db->where('id', $serverid); |
|
$this->db->where('timestamp >=', '(NOW() - interval 2 day)', FALSE); |
|
$this->db->order_by('timestamp', 'ASC'); |
|
|
|
$query = $this->db->get(); |
|
return $query->result_array(); |
|
} |
|
|
|
} |