Если вы считаете свои запросы в одном процессе / запросе и вам необходимо знать, сколько из них выполняется в ходе выполнения одной задачи, вы можете встроить эту функцию прямо в объект базы данных, используя магические функции _construct и _destruct, если вы на php 5.3. Поскольку ваша существующая функция для запросов в вашем объекте увеличивает этот счетчик, вы можете сохранить его.
Напишите функцию _destruct, которая сохранит количество повторений функции запроса до файла журнала в системе или в заранее определенном месте в базе данных. Это сохранит значение свойства query_count там, где вы сможете его использовать.
function _destruct(){
//write a log file with the value or a serialized version of the database object itself
//set the mode to w+ so it truncates every request
$fh = fopen('/path/to/a/new/log' 'w+');
fwrite($fh, $this->queries_count);
fclose($fh);
}
Это будет выполняться каждый раз, когда ваш объект базы данных GC'ed. Затем вы можете написать статический метод, чтобы открыть файл и прочитать значение.
public static function getLastQueriesCount(){
$fh = fopen('/path/to/a/new/log' 'r+');
$count = fgets($fh);
fclose($fh);
return $count;
}
Конечно, вам понадобятся права на запись, установленные для этого файла / каталога. Вы можете заменить тела функций для хранения счетчика, как вам нравится - будь то простой формат файла или в базе данных.