sicher, dass es ein Db Profilerstellungs-Werkzeug zur Verfügung, ist es Zend_Db_Profiler anrufen und Sie können herausfinden, wie es zu benutzen, indem die offizielle Dokumentation zu lesen hier: http://framework.zend.com/manual/en/zend.db.profiler.html#zend.db.profiler.using
Grundsätzlich Sie, so etwas zu tun haben:
$db = Zend_Db_Table::getDefaultAdapter();
$profiler = $db->getProfiler();
$totalTime = $profiler->getTotalElapsedSecs();
$queryCount = $profiler->getTotalNumQueries();
Wie für die gesamte Ladezeit Ihrer Seite, wenn Sie nicht Layout (s) verwenden, dann ist es besser, eine Basis-Controller-Klasse zu erstellen, die die aktuelle (Mikro-) Zeit während Predispatch und PostDispatch-Methoden erhält Es ist die Basisklasse für alle Ihre Controller. Vielleicht so etwas wie dieses kann die Arbeit machen:
class Myapp_Controller_Action extends Zend_Controller_Action
{
protected $_startTime;
protected $_endTime;
protected $_totalTime;
public function preDispatch()
{
parent::preDispatch();
$this->_startTime = microtime(true);
}
public function postDispatch()
{
parent::postDispatch();
$this->_endTime = microtime(true);
$this->_totalTime = $this->_endTime - $this->_startTime;
// do something with $this->_totalTime;
}
}
und jeder Controller in Ihrer Anwendung sollte Myapp_Controller_Action statt Zend_Controller_Action erweitern:
class IndexController extends Myapp_Controller_Action
{
...
}
Diese Antwort auch für Sie von Interesse sein kann: http://stackoverflow.com/questions/9468922/zend-db-profiler-log-to-file/9471309#9471309 Es zeigt eine ' dispatchLoopShutdown-Plugin, das den 'Zend_Db_Profiler' verwendet, um Abfrageinformationen zu protokollieren. Ich füge '$ GLOBALS ['_ T0'] = microtime (true);' in meiner 'index.php' Datei hinzu, damit ich diese von' time() 'subtrahieren kann, um die Gesamtzeit zu erhalten. Ich verwende ähnlichen Code in meiner Anwendung, um Abfrage- und Seitengenerierungszeitstatistiken zu generieren, die in der Fußzeile angezeigt werden. In meinem Fall verwende ich '$ this-> getResponse() -> setBody()', um einen Platzhalter durch die tatsächlichen Statistiken zu ersetzen, die ich generiere. – drew010