【问题标题】:More details Symfony3 Profiler更多细节 Symfony3 Profiler
【发布时间】:2017-07-19 11:54:47
【问题描述】:

我有 Symfony 的这个输出;

控制器花费的时间最长,但我怎样才能更详细地了解花费时间最长的确切函数调用?

【问题讨论】:

    标签: symfony


    【解决方案1】:

    你可以使用Stopwatch component:

    public function bottleNeckAction()
    {
        $stopwatch = $this->get('debug.stopwatch');
    
        $stopwatch->start('someServiceCall');
        $this->someServiceCall();
        $stopwatch->stop('someServiceCall');
    
        //…
    }
    

    【讨论】:

    • 谢谢,输出是使用$event->getPeriods(); 吗?
    • @JakeN 是的,每个句点都标有line out
    • 太棒了,我这个年代以前用过,但不知道它链接到Profiler。超级好用。
    • @JakeN 顺便说一句,当我查看您的屏幕截图时,我认为您的问题是加载大型、过于复杂的数据并将它们水合到对象中。看看blogpost by Ocramius about that
    • 谢谢,问题就是这样。这是一个巨大的查询,然后它做了很多。但我认为使用return $stmt->fetchAll(\PDO::FETCH_ASSOC); 可以解决水合作用的学说问题并且通常只是缓慢?
    猜你喜欢
    • 2016-03-10
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    • 2014-07-28
    相关资源
    最近更新 更多