diff --git a/DataCollector/PropelDataCollector.php b/DataCollector/PropelDataCollector.php
index 52c4abd..86d457e 100644
--- a/DataCollector/PropelDataCollector.php
+++ b/DataCollector/PropelDataCollector.php
@@ -1,7 +1,7 @@
*
@@ -28,9 +28,19 @@ class PropelDataCollector extends DataCollector
* @var Propel\PropelBundle\Logger\PropelLogger
*/
private $logger;
-
+ /**
+ * Connection name
+ *
+ * @var string
+ */
private $connectionName;
+ /**
+ * Constructor
+ *
+ * @param \Propel\PropelBundle\Logger\PropelLogger $logger A PropelLogger
+ * @param string $connectionName A connection name
+ */
public function __construct(\Propel\PropelBundle\Logger\PropelLogger $logger, $connectionName)
{
$this->logger = $logger;
@@ -44,15 +54,46 @@ class PropelDataCollector extends DataCollector
public function collect(Request $request, Response $response, \Exception $exception = null)
{
$this->data = array(
+ 'queries' => $this->logger->getQueries(),
'connectionName' => $this->connectionName,
);
}
+ /**
+ * Returns the collector name.
+ *
+ * @return string The collector name.
+ */
public function getName()
{
return 'propel';
}
+ /**
+ * Returns queries.
+ *
+ * @return array Queries
+ */
+ public function getQueries()
+ {
+ return $this->data['queries'];
+ }
+
+ /**
+ * Returns the query count.
+ *
+ * @return integer The query count
+ */
+ public function getQueryCount()
+ {
+ return count($this->data['queries']);
+ }
+
+ /**
+ * Returns the connection name.
+ *
+ * @return string The connection name
+ */
public function getConnectionName()
{
return $this->data['connectionName'];
diff --git a/Logger/PropelLogger.php b/Logger/PropelLogger.php
index ee07bee..0720165 100644
--- a/Logger/PropelLogger.php
+++ b/Logger/PropelLogger.php
@@ -20,7 +20,14 @@ use Symfony\Component\HttpKernel\Log\LoggerInterface;
*/
class PropelLogger implements \BasicLogger
{
+ /**
+ * @var LoggerInterface
+ */
protected $logger;
+ /**
+ * @var array
+ */
+ protected $queries;
/**
* Constructor.
@@ -29,7 +36,8 @@ class PropelLogger implements \BasicLogger
*/
public function __construct(LoggerInterface $logger = null)
{
- $this->logger = $logger;
+ $this->logger = $logger;
+ $this->queries = array();
}
/**
@@ -124,8 +132,20 @@ class PropelLogger implements \BasicLogger
*/
public function debug($message)
{
+ $this->queries[] = $message;
+
if (null !== $this->logger) {
$this->logger->debug($message);
}
}
+
+ /**
+ * Returns queries.
+ *
+ * @return array Queries
+ */
+ public function getQueries()
+ {
+ return $this->queries;
+ }
}
diff --git a/Resources/views/Collector/propel.html.twig b/Resources/views/Collector/propel.html.twig
index fa0e962..eb84aa2 100644
--- a/Resources/views/Collector/propel.html.twig
+++ b/Resources/views/Collector/propel.html.twig
@@ -17,13 +17,35 @@
{# the menu content #}
- Propel
-
-
+ Propel
+
+ {{ collector.querycount }}
+
{% endblock %}
{% block panel %}
{# the panel content #}
+
+
| SQL queries | +
|---|
| No queries. |
{{ query }} |
+