Класс Phalcon\Db\Profiler

Source on GitHub

Экземпляры Phalcon\Db могут создавать профили выполнения инструкций SQL, отправляемых в реляционную базу данных. Профилированные сведения включают время выполнения в миллисекундах. Это помогает выявить узкие места в приложениях.

<?php

$profiler = new \Phalcon\Db\Profiler();

// Настройка профилировщика соединений
$connection->setProfiler($profiler);

$sql = "SELECT buyer_name, quantity, product_name
FROM buyers LEFT JOIN products ON
buyers.pid=products.id";

// Выполнение инструкции SQL
$connection->query($sql);

// Получить последний профиль в профилировщике
$profile = $profiler->getLastProfile();

echo "SQL Statement: ", $profile->getSQLStatement(), "\n";
echo "Start Time: ", $profile->getInitialTime(), "\n";
echo "Final Time: ", $profile->getFinalTime(), "\n";
echo "Total Elapsed Time: ", $profile->getTotalElapsedSeconds(), "\n";

Methods

public Phalcon\Db\Profiler startProfile (string $sqlStatement, [mixed $sqlVariables], [mixed $sqlBindTypes])

Запускает профиль предложения SQL

public stopProfile ()

Остановка активного профиля

public getNumberTotalStatements ()

Возвращает общее число обработанных инструкций SQL

public getTotalElapsedSeconds ()

Возвращает общее время в секундах, потраченное на профили

public getProfiles ()

Возвращает все обработанные профили

public reset ()

Сбрасывает профилировщик, очищает все профили

public getLastProfile ()

Возвращает последний профиль, выполненный в профилировщике