Profiler.php
2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
namespace Phalcon\Db {
/**
* Phalcon\Db\Profiler
*
* Instances of Phalcon\Db can generate execution profiles
* on SQL statements sent to the relational database. Profiled
* information includes execution time in miliseconds.
* This helps you to identify bottlenecks in your applications.
*
*<code>
*
* $profiler = new Phalcon\Db\Profiler();
*
* //Set the connection profiler
* $connection->setProfiler($profiler);
*
* $sql = "SELECT buyer_name, quantity, product_name
* FROM buyers LEFT JOIN products ON
* buyers.pid=products.id";
*
* //Execute a SQL statement
* $connection->query($sql);
*
* //Get the last profile in the profiler
* $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";
*
*</code>
*
*/
class Profiler {
protected $_allProfiles;
protected $_activeProfile;
protected $_totalSeconds;
/**
* Starts the profile of a SQL sentence
*
* @param string $sqlStatement
* @return \Phalcon\Db\Profiler
*/
public function startProfile($sqlStatement){ }
/**
* Stops the active profile
*
* @return \Phalcon\Db\Profiler
*/
public function stopProfile(){ }
/**
* Returns the total number of SQL statements processed
*
* @return integer
*/
public function getNumberTotalStatements(){ }
/**
* Returns the total time in seconds spent by the profiles
*
* @return double
*/
public function getTotalElapsedSeconds(){ }
/**
* Returns all the processed profiles
*
* @return \Phalcon\Db\Profiler\Item[]
*/
public function getProfiles(){ }
/**
* Resets the profiler, cleaning up all the profiles
*
* @return \Phalcon\Db\Profiler
*/
public function reset(){ }
/**
* Returns the last profile executed in the profiler
*
* @return \Phalcon\Db\Profiler\Item
*/
public function getLastProfile(){ }
}
}