From 6b8798164175056147ea14583f33ca9e57eadcab Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 3 Jul 2012 17:03:52 +0200 Subject: [PATCH 1/2] [TimeDataCollector] Do not throw an exception when no events are recorded --- .../Resources/views/Collector/time.html.twig | 15 ++++++++++++--- .../DataCollector/TimeDataCollector.php | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/time.html.twig b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/time.html.twig index cc7552fa62..d283182720 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/time.html.twig +++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/time.html.twig @@ -14,14 +14,15 @@ {% endif %} {% block toolbar %} + {% set total_time = collector.events|length ? '%.0f ms'|format(collector.totaltime) : 'n/a' %} {% set icon %} Time - {{ '%.0f'|format(collector.totaltime) }} ms + {{ total_time }} {% endset %} {% set text %}
Total time - {{ '%.0f'|format(collector.totaltime) }} ms + {{ total_time }}
{% endset %} {% include 'WebProfilerBundle:Profiler:toolbar_item.html.twig' with { 'link': profiler_url } %} @@ -36,7 +37,16 @@ {% block panel %}

Timeline

+ {% if collector.events|length %} + {{ block('panelContent') }} + {% else %} +

+ No timing events have been recorded. Are you sure that debugging is enabled in the kernel ? +

+ {% endif %} +{% endblock %} +{% block panelContent %}
@@ -413,7 +423,6 @@ elementThresholdControl.onclick = canvasAutoUpdateOnThresholdChange; elementThresholdControl.onchange = canvasAutoUpdateOnThresholdChange; elementThresholdControl.onkeyup = canvasAutoUpdateOnThresholdChange; - //]]> {% endblock %} diff --git a/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php index a91e91c78c..0d5ac81971 100644 --- a/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php +++ b/src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php @@ -74,7 +74,7 @@ class TimeDataCollector extends DataCollector { $lastEvent = $this->data['events']['__section__']; - return $lastEvent->getOrigin() + $lastEvent->getTotalTime() - $this->data['start_time']; + return $lastEvent->getOrigin() + $lastEvent->getTotalTime() - $this->getStartTime(); } /** From eda439ffe5250980e0c7dce64bba1b6c8ecb2a03 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 3 Jul 2012 17:14:01 +0200 Subject: [PATCH 2/2] [EventDataCollector] Display a better message when no events have been recorded --- .../Resources/views/Collector/events.html.twig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig index 6fc8f6f897..97a073a820 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig +++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig @@ -10,6 +10,17 @@ {% endblock %} {% block panel %} + {% if collector.calledlisteners|length %} + {{ block('panelContent') }} + {% else %} +

Events

+

+ No events have been recorded. Are you sure that debugging is enabled in the kernel ? +

+ {% endif %} +{% endblock %} + +{% block panelContent %}

Called Listeners