Show more accurate message in profiler when missing stopwatch
This commit is contained in:
parent
a2927404dd
commit
326aa86d6a
@ -95,7 +95,11 @@
|
|||||||
|
|
||||||
<h2>Execution timeline</h2>
|
<h2>Execution timeline</h2>
|
||||||
|
|
||||||
{% if collector.events is empty %}
|
{% if not collector.isStopwatchInstalled() %}
|
||||||
|
<div class="empty">
|
||||||
|
<p>The Stopwatch component is not installed. If you want to see timing events, run: <code>composer require symfony/stopwatch</code>.</p>
|
||||||
|
</div>
|
||||||
|
{% elseif collector.events is empty %}
|
||||||
<div class="empty">
|
<div class="empty">
|
||||||
<p>No timing events have been recorded. Are you sure that debugging is enabled in the kernel?</p>
|
<p>No timing events have been recorded. Are you sure that debugging is enabled in the kernel?</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^5.5.9|>=7.0.8",
|
"php": "^5.5.9|>=7.0.8",
|
||||||
"symfony/http-kernel": "~3.3|~4.0",
|
"symfony/http-kernel": "~3.4.25|^4.2.6",
|
||||||
"symfony/polyfill-php70": "~1.0",
|
"symfony/polyfill-php70": "~1.0",
|
||||||
"symfony/routing": "~2.8|~3.0|~4.0",
|
"symfony/routing": "~2.8|~3.0|~4.0",
|
||||||
"symfony/twig-bridge": "~2.8|~3.0|~4.0",
|
"symfony/twig-bridge": "~2.8|~3.0|~4.0",
|
||||||
|
@ -47,6 +47,7 @@ class TimeDataCollector extends DataCollector implements LateDataCollectorInterf
|
|||||||
'token' => $response->headers->get('X-Debug-Token'),
|
'token' => $response->headers->get('X-Debug-Token'),
|
||||||
'start_time' => $startTime * 1000,
|
'start_time' => $startTime * 1000,
|
||||||
'events' => [],
|
'events' => [],
|
||||||
|
'stopwatch_installed' => \class_exists(Stopwatch::class, false),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,6 +140,14 @@ class TimeDataCollector extends DataCollector implements LateDataCollectorInterf
|
|||||||
return $this->data['start_time'];
|
return $this->data['start_time'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool whether or not the stopwatch component is installed
|
||||||
|
*/
|
||||||
|
public function isStopwatchInstalled()
|
||||||
|
{
|
||||||
|
return $this->data['stopwatch_installed'];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
@ -15,6 +15,7 @@ use PHPUnit\Framework\TestCase;
|
|||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\HttpKernel\DataCollector\TimeDataCollector;
|
use Symfony\Component\HttpKernel\DataCollector\TimeDataCollector;
|
||||||
|
use Symfony\Component\Stopwatch\Stopwatch;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group time-sensitive
|
* @group time-sensitive
|
||||||
@ -51,5 +52,6 @@ class TimeDataCollectorTest extends TestCase
|
|||||||
|
|
||||||
$c->collect($request, new Response());
|
$c->collect($request, new Response());
|
||||||
$this->assertEquals(123456000, $c->getStartTime());
|
$this->assertEquals(123456000, $c->getStartTime());
|
||||||
|
$this->assertSame(\class_exists(Stopwatch::class, false), $c->isStopwatchInstalled());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user