2014-10-18 11 views
5

Sto cercando di ottenere ulteriori informazioni sulla tempistica nella timeline di Symfony Profiler, ma non riesco a far apparire nulla. Secondo la documentazione che ho letto, dovrebbe essere semplice come il seguente esempio, ma ciò non causa l'apparizione di ulteriori informazioni sulla timeline.Eventi di symfony StopWatch non visualizzati nella timeline di profiler

Devo in qualche modo rendere il profiler consapevole degli eventi che sto avviando e fermando?

use Symfony\Component\Stopwatch\Stopwatch; 

class DefaultController extends Controller 
{ 
    public function testAction() 
    { 
     $stopwatch = new Stopwatch(); 
     $stopwatch->start('testController'); 

     usleep(1000000); 

     $response = new Response(
      '<body>Hi</body>', 
      Response::HTTP_OK, 
      array('content-type' => 'text/html') 
     ); 

     $event = $stopwatch->stop('testController'); 

     return $response; 
    } 
} 

risposta

18

profiler di Symfony non può eseguire la scansione di codice per tutte le istanze cronometro e mettere che nella timeline. Devi usare il cronometro preconfigurato fornito dal profiler invece:

public function testAction() 
{ 
    $stopwatch = $this->get('debug.stopwatch'); 
    $stopwatch->start('testController'); 

    // ... 

    $event = $stopwatch->stop('testController'); 

    return $response; 
} 

Tuttavia, il controller è già sulla timeline ...

+1

Questa risposta dovrebbe essere accettato –

+3

Dovrebbero aggiungere questo sulla documentazione ufficiale, non c'è menzione sulla pagina del cronometro. – Waddles

+0

@Waddles https://symfony.com/doc/current/components/stopwatch.html –

Problemi correlati