Symfony 如何将自定义计时器添加到性能调试页面?
在性能页面上,我们可以看到各种指标 但是,只有当您的大部分工作都是通过控制器本身存在的时候,它才是如此有用,并且很可能在开发人员将要引入瓶颈的地方 有没有一种方法可以将更多自定义计时器注入此页面Symfony 如何将自定义计时器添加到性能调试页面?,symfony,symfony-3.4,Symfony,Symfony 3.4,在性能页面上,我们可以看到各种指标 但是,只有当您的大部分工作都是通过控制器本身存在的时候,它才是如此有用,并且很可能在开发人员将要引入瓶颈的地方 有没有一种方法可以将更多自定义计时器注入此页面 例如,这个特定的控制器正在解压和处理zip存档。我想直观地知道提取归档文件需要多少控制器执行长度,以及处理归档文件需要多少控制器执行长度 如果您的zip控制器扩展了控制器,请尝试: use \Symfony\Bundle\FrameworkBundle\Controller\Controller; c
例如,这个特定的控制器正在解压和处理zip存档。我想直观地知道提取归档文件需要多少控制器执行长度,以及处理归档文件需要多少控制器执行长度 如果您的zip控制器扩展了控制器,请尝试:
use \Symfony\Bundle\FrameworkBundle\Controller\Controller;
class zipController extends Controller
{
public function index(Request $request)
{
$debugstopwatch = $this->get('debug.stopwatch');
$debugstopwatch->start('zipController');
/* .. */
$debugstopwatch->stop('zipController');
/*render page*/
}
}
或注入\Symfony\Component\Stopwatch\Stopwatch
public function index(Request $request, \Symfony\Component\Stopwatch\Stopwatch $debugstopwatch)
{
$debugstopwatch->start('zipController');
/* .. */
$debugstopwatch->stop('zipController');
}
看你知道,我觉得奇怪的是,我已经尝试了很多年了,但它从来都不起作用,新的Metreic就不会出现。甚至深入到调试工具栏,复制我看到的。。还是没什么。所以我会坐在这里,为事情编写定制的度量。然后砰的一声,你的回答,就这么做,现在起作用了!不知道为什么现在比以前,但它是,我感谢你帮助我了!干杯@不客气!即使我使用$debug stopwatch=new stopwatch也无法让它工作:-我还发现DataCollector对于添加自定义信息非常有用!我完全使用自定义数据采集器的地方,如自定义API指标和数据表示,自定义标记和todo的,等等调试工具栏是如此好