如何在性能调试页面添加自定义定时器?

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');



}

Stopwatch