如何在性能调试页面添加自定义定时器?
How to add custom timers to the performance debug page?
在性能页面上,我们可以看到各种指标。
但它只有在您的大部分工作都通过控制器本身存在时非常有用,而且您(开发人员)可能会在其中引入瓶颈。
有没有办法在这个页面中注入更多的自定义计时器?
例如,这个特定的控制器正在解压缩和处理一个 zip 存档。我想直观地知道提取存档需要多少控制器执行长度,以及需要多少时间来处理它。
如果您的 zip 控制器扩展了 Controller,请尝试:
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');
}
在性能页面上,我们可以看到各种指标。
但它只有在您的大部分工作都通过控制器本身存在时非常有用,而且您(开发人员)可能会在其中引入瓶颈。
有没有办法在这个页面中注入更多的自定义计时器?
例如,这个特定的控制器正在解压缩和处理一个 zip 存档。我想直观地知道提取存档需要多少控制器执行长度,以及需要多少时间来处理它。
如果您的 zip 控制器扩展了 Controller,请尝试:
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');
}