PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / libs / Zend / Db / Profiler / Firebug.php
matomo / app / libs / Zend / Db / Profiler Last commit date
Exception.php 6 years ago Firebug.php 6 years ago Query.php 6 years ago
Firebug.php
162 lines
1 <?php
2 /**
3 * Zend Framework
4 *
5 * LICENSE
6 *
7 * This source file is subject to the new BSD license that is bundled
8 * with this package in the file LICENSE.txt.
9 * It is also available through the world-wide-web at this URL:
10 * http://framework.zend.com/license/new-bsd
11 * If you did not receive a copy of the license and are unable to
12 * obtain it through the world-wide-web, please send an email
13 * to license@zend.com so we can send you a copy immediately.
14 *
15 * @category Zend
16 * @package Zend_Db
17 * @subpackage Profiler
18 * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
19 * @license http://framework.zend.com/license/new-bsd New BSD License
20 * @version $Id: Firebug.php 23775 2011-03-01 17:25:24Z ralph $
21 */
22
23 /** Zend_Db_Profiler */
24 // require_once 'Zend/Db/Profiler.php';
25
26 /** Zend_Wildfire_Plugin_FirePhp */
27 // require_once 'Zend/Wildfire/Plugin/FirePhp.php';
28
29 /** Zend_Wildfire_Plugin_FirePhp_TableMessage */
30 // require_once 'Zend/Wildfire/Plugin/FirePhp/TableMessage.php';
31
32 /**
33 * Writes DB events as log messages to the Firebug Console via FirePHP.
34 *
35 * @category Zend
36 * @package Zend_Db
37 * @subpackage Profiler
38 * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
39 * @license http://framework.zend.com/license/new-bsd New BSD License
40 */
41 class Zend_Db_Profiler_Firebug extends Zend_Db_Profiler
42 {
43 /**
44 * The original label for this profiler.
45 * @var string
46 */
47 protected $_label = null;
48
49 /**
50 * The label template for this profiler
51 * @var string
52 */
53 protected $_label_template = '%label% (%totalCount% @ %totalDuration% sec)';
54
55 /**
56 * The message envelope holding the profiling summary
57 * @var Zend_Wildfire_Plugin_FirePhp_TableMessage
58 */
59 protected $_message = null;
60
61 /**
62 * The total time taken for all profiled queries.
63 * @var float
64 */
65 protected $_totalElapsedTime = 0;
66
67 /**
68 * Constructor
69 *
70 * @param string $label OPTIONAL Label for the profiling info.
71 * @return void
72 */
73 public function __construct($label = null)
74 {
75 $this->_label = $label;
76 if(!$this->_label) {
77 $this->_label = 'Zend_Db_Profiler_Firebug';
78 }
79 }
80
81 /**
82 * Enable or disable the profiler. If $enable is false, the profiler
83 * is disabled and will not log any queries sent to it.
84 *
85 * @param boolean $enable
86 * @return Zend_Db_Profiler Provides a fluent interface
87 */
88 public function setEnabled($enable)
89 {
90 parent::setEnabled($enable);
91
92 if ($this->getEnabled()) {
93
94 if (!$this->_message) {
95 $this->_message = new Zend_Wildfire_Plugin_FirePhp_TableMessage($this->_label);
96 $this->_message->setBuffered(true);
97 $this->_message->setHeader(array('Time','Event','Parameters'));
98 $this->_message->setDestroy(true);
99 $this->_message->setOption('includeLineNumbers', false);
100 Zend_Wildfire_Plugin_FirePhp::getInstance()->send($this->_message);
101 }
102
103 } else {
104
105 if ($this->_message) {
106 $this->_message->setDestroy(true);
107 $this->_message = null;
108 }
109
110 }
111
112 return $this;
113 }
114
115 /**
116 * Intercept the query end and log the profiling data.
117 *
118 * @param integer $queryId
119 * @throws Zend_Db_Profiler_Exception
120 * @return void
121 */
122 public function queryEnd($queryId)
123 {
124 $state = parent::queryEnd($queryId);
125
126 if (!$this->getEnabled() || $state == self::IGNORED) {
127 return;
128 }
129
130 $this->_message->setDestroy(false);
131
132 $profile = $this->getQueryProfile($queryId);
133
134 $this->_totalElapsedTime += $profile->getElapsedSecs();
135
136 $this->_message->addRow(array((string)round($profile->getElapsedSecs(),5),
137 $profile->getQuery(),
138 ($params=$profile->getQueryParams())?$params:null));
139
140 $this->updateMessageLabel();
141 }
142
143 /**
144 * Update the label of the message holding the profile info.
145 *
146 * @return void
147 */
148 protected function updateMessageLabel()
149 {
150 if (!$this->_message) {
151 return;
152 }
153 $this->_message->setLabel(str_replace(array('%label%',
154 '%totalCount%',
155 '%totalDuration%'),
156 array($this->_label,
157 $this->getTotalNumQueries(),
158 (string)round($this->_totalElapsedTime,5)),
159 $this->_label_template));
160 }
161 }
162