Jamm\Memory\Shm\SHMObject::get_stat PHP Method

get_stat() public method

Returns statistic information
public get_stat ( ) : array
return array
    public function get_stat()
    {
        $stat = array();
        $map = $this->mem_object->read('map');
        $size = 0;
        if (!empty($map)) {
            foreach ($map as $v) {
                $size += $v[self::map_key_fin] - $v[self::map_key_start];
            }
        }
        $stat['size'] = $size;
        $q_read = msg_get_queue($this->mutex->getReadQKey());
        if (!empty($q_read)) {
            $q_stat = msg_stat_queue($q_read);
            $stat['readers'] = $q_stat['msg_qnum'];
            $stat['readers_qid'] = $this->mutex->getReadQKey();
        }
        $q_writers = msg_get_queue($this->mutex->getWriteQKey());
        if (!empty($q_writers)) {
            $q_stat = msg_stat_queue($q_writers);
            $stat['writers'] = $q_stat['msg_qnum'];
            $stat['writers_qid'] = $this->mutex->getWriteQKey();
        }
        $stat['shm_key'] = $this->shm_data_key;
        $stat['shm_id'] = $this->shm_data_id;
        $stat['max_size'] = $this->max_size;
        $stat['head'] = $this->mem_object->get_stat();
        $stat['err_log'] = $this->mutex->getErrLog();
        return $stat;
    }