• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Zend_Db_Profiler类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Zend_Db_Profiler的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Db_Profiler类的具体用法?PHP Zend_Db_Profiler怎么用?PHP Zend_Db_Profiler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Zend_Db_Profiler类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: _initProfiler

 protected function _initProfiler()
 {
     $this->bootstrap('db');
     $profiler = new Zend_Db_Profiler('All DB Queries');
     $profiler->setEnabled(true);
     $this->getResource('db')->setProfiler($profiler);
 }
开发者ID:Roave,项目名称:issues,代码行数:7,代码来源:Bootstrap.php


示例2: _getProfilerMarkup

 private function _getProfilerMarkup(Zend_Db_Profiler $profiler)
 {
     $totalTime = $profiler->getTotalElapsedSecs();
     $queryCount = $profiler->getTotalNumQueries();
     $longestTime = 0;
     $longestQuery = null;
     $lines = array();
     $html = "<h2>Db Profiler</h2>\n";
     $lines[] = "The following queries were executed during the request:";
     $profiles = $profiler->getQueryProfiles();
     if (!$profiles) {
         return $html;
     }
     foreach ($profiles as $query) {
         $sql = $query->getQuery();
         $elapsedSecs = $query->getElapsedSecs();
         if ($elapsedSecs > $longestTime) {
             $longestTime = $query->getElapsedSecs();
             $longestQuery = $sql;
         }
         $lines[] = "[{$elapsedSecs}] {$sql}";
     }
     $lines[] = 'Executed ' . $queryCount . ' queries in ' . $totalTime . ' seconds';
     $lines[] = 'Average query length: ' . $totalTime / $queryCount . ' seconds';
     $lines[] = 'Queries per second: ' . $queryCount / $totalTime;
     $lines[] = 'Longest query length: ' . $longestTime;
     $lines[] = "Longest query: \n" . $longestQuery;
     foreach ($lines as $line) {
         $html .= '<p>' . $line . '</p>' . "\n";
     }
     return $html;
 }
开发者ID:lchen01,项目名称:STEdwards,代码行数:32,代码来源:Debug.php


示例3: rollBack

 /**
  * Roll back a transaction and return to autocommit mode.
  *
  * @return Zend_Db_Adapter_Abstract
  */
 public function rollBack()
 {
     $this->_connect();
     $q = $this->_profiler->queryStart('rollback', Zend_Db_Profiler::TRANSACTION);
     $this->_rollBack();
     $this->_profiler->queryEnd($q);
     return $this;
 }
开发者ID:Gradven,项目名称:what3.1.7,代码行数:13,代码来源:Abstract.php


示例4: queryEnd

 /**
  * Intercept the query end and log the profiling data.
  *
  * @param  integer $queryId
  * @throws Zend_Db_Profiler_Exception
  * @return void
  */
 public function queryEnd($queryId)
 {
     $state = parent::queryEnd($queryId);
     if (!$this->getEnabled() || $state == self::IGNORED) {
         return;
     }
     $profile = $this->getQueryProfile($queryId);
     echo (string) round($profile->getElapsedSecs(), 5) . PHP_EOL . $profile->getQuery() . PHP_EOL . (($params = $profile->getQueryParams()) ? $params : null) . PHP_EOL;
 }
开发者ID:null-1,项目名称:fangtaitong,代码行数:16,代码来源:Console.php


示例5: queryEnd

 /**
  * Intercept the query end and log the profiling data.
  *
  * @param  integer $queryId
  * @throws \Zend_Db_Profiler_Exception
  * @return void
  */
 public function queryEnd($queryId)
 {
     $state = parent::queryEnd($queryId);
     if (!$this->getEnabled() || $state == self::IGNORED) {
         return;
     }
     $profile = $this->getQueryProfile($queryId);
     $this->_totalElapsedTime += $profile->getElapsedSecs();
     $this->_totalQueries++;
     $logEntry = $profile->getQuery() . " | " . implode(",", $profile->getQueryParams());
     \Logger::debug($logEntry, ["connection" => $this->getConnectionId(), "queryNum" => $this->_totalQueries, "time" => (string) round($profile->getElapsedSecs(), 5)]);
     $this->queries[] = array("time" => $profile->getElapsedSecs(), "query" => $profile->getQuery() . " | " . implode(",", $profile->getQueryParams()));
 }
开发者ID:emanuel-london,项目名称:pimcore,代码行数:20,代码来源:Profiler.php


示例6: queryEnd

 /**
  * Intercept the query end and log the profiling data.
  *
  * @param  integer $queryId
  * @throws Zend_Db_Profiler_Exception
  * @return void
  */
 public function queryEnd($queryId)
 {
     $state = parent::queryEnd($queryId);
     if (!$this->getEnabled() || $state == self::IGNORED) {
         return;
     }
     // get profile of the current query
     $profile = $this->getQueryProfile($queryId);
     // update totalElapsedTime counter
     $this->_totalElapsedTime += $profile->getElapsedSecs();
     // create the message to be logged
     $message = "\nElapsed Secs: " . round($profile->getElapsedSecs(), 5) . "\n";
     $message .= "Query: " . $profile->getQuery() . "\n";
     // log the message as INFO message
     $this->_log->info($message);
 }
开发者ID:MichaelGogeshvili,项目名称:sitewatch,代码行数:23,代码来源:Log.php


示例7: queryEnd

 public function queryEnd($queryId)
 {
     $result = parent::queryEnd($queryId);
     if ($result == self::STORED) {
         $profile = $this->getLastQueryProfile();
         /* @var $profile Zend_Db_Profiler_Query */
         if (!isset($this->_types[$profile->getQueryType()])) {
             $this->_types[$profile->getQueryType()] = 0;
         }
         $this->_types[$profile->getQueryType()]++;
         $query = $profile->getQuery();
         $data = array('query' => $query, 'elapsed' => $profile->getElapsedSecs(), 'params' => $profile->getQueryParams());
         $data = json_encode($data);
         $queue = Mage::getStoreConfig(Eschrade_PubSubLogger_Model_Observer::SYSTEM_CONFIG_ENDPOINT) . '_pslogger_sql';
         $this->_observer->publish($queue, $data);
     }
 }
开发者ID:brianhillz0r,项目名称:Magento-Realtime-Logger,代码行数:17,代码来源:Profiler.php


示例8: queryEnd

 /**
  * Intercept the query end and log the profiling data.
  *
  * @param  integer $queryId
  * @throws Zend_Db_Profiler_Exception
  * @return void
  */
 public function queryEnd($queryId)
 {
     $state = parent::queryEnd($queryId);
     if (!$this->getEnabled() || $state == self::IGNORED) {
         return;
     }
     $profile = $this->getQueryProfile($queryId);
     $this->_totalElapsedTime += $profile->getElapsedSecs();
     $logEntry = "DB Query: " . (string) round($profile->getElapsedSecs(), 5) . " | " . $profile->getQuery() . " | " . implode(",", $profile->getQueryParams());
     Logger::debug($logEntry);
     if (!empty($_REQUEST["pimcore_dbprofile"])) {
         if (!is_resource($this->logFile)) {
             $logFile = dirname(PIMCORE_LOG_DEBUG) . "/dbprofile-" . $_REQUEST["pimcore_dbprofile"] . ".log";
             file_put_contents($logFile, "");
             $this->logFile = fopen($logFile, "a+");
         }
         fwrite($this->logFile, $logEntry . "\n");
     }
 }
开发者ID:ngocanh,项目名称:pimcore,代码行数:26,代码来源:Profiler.php


示例9: _initDbProfiler

 protected function _initDbProfiler()
 {
     if (APPLICATION_ENV === 'development') {
         if (isset($_GET['_profileSql'])) {
             setcookie('_profileSql', $_GET['_profileSql']);
         }
         if (isset($_COOKIE['_profileSql'])) {
             $profiler = new Zend_Db_Profiler();
             $profiler->setEnabled(true);
             Zend_Db_Table_Abstract::getDefaultAdapter()->setProfiler($profiler);
             register_shutdown_function(array('Tools_System_Tools', 'sqlProfiler'));
         }
     }
 }
开发者ID:PavloKovalov,项目名称:seotoaster,代码行数:14,代码来源:Bootstrap.php


示例10: profiler

/**
 * Get DB profiler
 *
 * @param string $connectionName
 * @return mixed|Zend_Db_Profiler
 */
function profiler($connectionName = 'core_read')
{
    if (false == ($profiler = Mage::registry('profiler'))) {
        /** @var $resource Mage_Core_Model_Resource */
        $resource = Mage::getSingleton('core/resource');
        /** @var $db Varien_Db_Adapter_Pdo_Mysql */
        $db = $resource->getConnection($connectionName);
        $profiler = new Zend_Db_Profiler();
        $profiler->setEnabled(1);
        $db->setProfiler($profiler);
        Mage::register('profiler', $profiler);
    }
    return $profiler;
}
开发者ID:virtual97,项目名称:quick-debug,代码行数:20,代码来源:func.php


示例11: queryStart

 /**
  * Starts a query.  Creates a new query profile object (Zend_Db_Profiler_Query)
  * and returns the "query profiler handle".  Run the query, then call
  * queryEnd() and pass it this handle to make the query as ended and
  * record the time.  If the profiler is not enabled, this takes no
  * action and immediately returns null.
  *
  * @param  string  $queryText   SQL statement
  * @param  integer $queryType   OPTIONAL Type of query, one of the Zend_Db_Profiler::* constants
  * @return integer|null
  */
 public function queryStart($queryText, $queryType = null)
 {
     //        file_put_contents('/var/www/query.log',$queryText."\n\n",FILE_APPEND);
     return parent::queryStart($queryText, $queryType);
 }
开发者ID:hashir-dhattiwala,项目名称:vfmagento,代码行数:16,代码来源:VafdefinitionsimporterController.php


示例12: queryEnd

 /**
  * Intercept the query end and log the profiling data.
  *
  * @param  integer $queryId
  * @throws Zend_Db_Profiler_Exception
  * @return void
  */
 public function queryEnd($queryId)
 {
     $state = parent::queryEnd($queryId);
     if (!$this->getEnabled() || $state == self::IGNORED) {
         return;
     }
     $this->_message->setDestroy(false);
     $profile = $this->getQueryProfile($queryId);
     $this->_totalElapsedTime += $profile->getElapsedSecs();
     $this->_message->addRow(array((string) round($profile->getElapsedSecs(), 5), $profile->getQuery(), ($params = $profile->getQueryParams()) ? $params : null));
     $this->updateMessageLabel();
 }
开发者ID:GerDner,项目名称:luck-docker,代码行数:19,代码来源:Firebug.php


示例13: initDbProfiler

 /**
  * @return null|\Zend_Db_Profiler|\Zend_Db_Profiler_Firebug
  */
 protected static function initDbProfiler()
 {
     // No profile should be enabled on live environment
     if (Constants::ENV_LIVE == APPLICATION_ENV) {
         return null;
     }
     $profiler = null;
     $options = isset(self::$config['resources']['profiler']) ? self::$config['resources']['profiler'] : array();
     $enabled = isset($options['enabled']) && $options['enabled'] == 1;
     if ($enabled) {
         if (isset($options['type']) && $options['type'] == 'firebug') {
             $profiler = new \Zend_Db_Profiler_Firebug('DB Queries');
         } else {
             $profiler = new \Zend_Db_Profiler();
         }
         $profiler->setEnabled(true);
     }
     return $profiler;
 }
开发者ID:cipherpols,项目名称:cze,代码行数:22,代码来源:Application.php


示例14: __construct

 /**
  * Empty constructor to make it parameterless.
  */
 public function __construct()
 {
     $profiler = new Zend_Db_Profiler();
     $profiler->setEnabled(true);
     $this->setProfiler($profiler);
 }
开发者ID:arendasistemasintegrados,项目名称:mateusleme,代码行数:9,代码来源:DbAdapter.php


示例15: getQueries

 /**
  * Returns all the db queries made
  *
  * @return array
  */
 public function getQueries()
 {
     if ($this->_profiler->getQueryProfiles() != null) {
         return $this->_profiler->getQueryProfiles();
     }
     return array();
 }
开发者ID:nicolas-bastien,项目名称:MagentoUnderControl,代码行数:12,代码来源:Database.php


示例16: assertTotalNumQueries

 /**
  * Assert that the given number of SQL queries were made.
  * 
  * @param integer $queryCount
  */
 public function assertTotalNumQueries($queryCount, $msg = null)
 {
     if (!$msg) {
         $msg = "Failed asserting that " . (int) $queryCount . " SQL queries were made.";
     }
     $this->_test->assertEquals($queryCount, $this->_profiler->getTotalNumQueries(), $msg);
 }
开发者ID:lchen01,项目名称:STEdwards,代码行数:12,代码来源:DbProfiler.php


示例17: getAllQuerys

 private function getAllQuerys()
 {
     foreach ($this->doctrineProfiler->queries as $query) {
         $this->executedQuerys[] = ['sql' => $query['sql'], 'params' => $query['params'], 'execution' => $query['executionMS']];
         $this->executeTime += $query['executionMS'];
     }
     foreach ($this->zendProfiler->getQueryProfiles() as $queryProfile) {
         $this->executedQuerys[] = ['sql' => $queryProfile->getQuery(), 'params' => $queryProfile->getQueryParams(), 'execution' => $queryProfile->getElapsedSecs()];
     }
 }
开发者ID:shyim,项目名称:shopware-profiler,代码行数:10,代码来源:DBCollector.php


示例18: queryEnd

 public function queryEnd($queryId)
 {
     $state = parent::queryEnd($queryId);
     $profile = $this->getQueryProfile($queryId);
     $this->_totalElapsedTime += $profile->getElapsedSecs();
     $this->_logger->info(implode(' ', array((string) round($profile->getElapsedSecs(), 5), $profile->getQuery(), ($params = $profile->getQueryParams()) ? implode(' ', $params) : null)));
 }
开发者ID:nurikk,项目名称:EvilRocketFramework,代码行数:7,代码来源:Profiler.php


示例19: queryStart

 /**
  * Obsługa rozpoczęcia kwerendy .
  * 
  * @param type $queryText
  * @param type $queryType
  * @return type 
  */
 public function queryStart($queryText, $queryType = null)
 {
     $queryId = parent::queryStart($queryText);
     if ($this->getEnabled()) {
         $message = "SQL({$queryId}): " . $queryText;
         // log the message as INFO message
         $this->_log->info($message);
     }
     return $queryId;
 }
开发者ID:Webowiec,项目名称:zendnote,代码行数:17,代码来源:SqlLogger.php


示例20: __construct

 public function __construct($enable)
 {
     parent::__construct($enable);
     $writer = new Kwf_Log_Writer_Stream(APP_PATH . '/querylog', 'w');
     $writer->setFormatter(new Zend_Log_Formatter_Simple("%message%\n"));
     $this->_logger = new Zend_Log($writer);
     /*
     foreach (new DirectoryIterator('/tmp') as $item) {
         if (substr($item->getFilename(), 0, 9) == 'querylog.') {
             $time = (int)(substr($item->getFilename(), 9, -2));
             if (time()-$time > 15*60) {
                 @unlink($item->getPathname());
             }
         }
     }
     */
 }
开发者ID:xiaoguizhidao,项目名称:koala-framework,代码行数:17,代码来源:Profiler.php



注:本文中的Zend_Db_Profiler类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Zend_Db_Select类代码示例发布时间:2022-05-23
下一篇:
PHP Zend_Db_Expr类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap