CodeIgniter - Benchmarking

Impostazione dei punti di riferimento

Se vuoi misurare il tempo impiegato per eseguire un insieme di linee o l'utilizzo della memoria, puoi calcolarlo usando i punti di benchmarking in CodeIgniter. C'è un separato "Benchmarking"Classe per questo scopo in CodeIgniter.

Questa classe viene caricata automaticamente; non devi caricarlo. Può essere utilizzato ovunque nel controller, nella vista e nelle classi del modello. Tutto quello che devi fare è contrassegnare un punto iniziale e un punto finale e quindi eseguire ilelapsed_time() funzione tra questi due punti contrassegnati e puoi ottenere il tempo necessario per eseguire quel codice come mostrato di seguito.

<?php 
   $this->benchmark->mark('code_start');
  
   // Some code happens here  

   $this->benchmark->mark('code_end');
  
   echo $this->benchmark->elapsed_time('code_start', 'code_end'); 
?>

Per visualizzare l'utilizzo della memoria, utilizzare la funzione memory_usage() come mostrato nel codice seguente.

<?php 
   echo $this->benchmark->memory_usage(); 
?>

Esempio

Crea un controller chiamato Profiler_controller.php e salvalo in application/controller/Profiler_controller.php

<?php 
   class Profiler_controller extends CI_Controller {
  
      public function index() {
	
         //enable profiler
         $this->output->enable_profiler(TRUE); 
         $this->load->view('test'); 
      } 
  
      public function disable() {
	
         //disable profiler 
         $this->output->enable_profiler(FALSE); 
         $this->load->view('test'); 
      }
		
   } 
?>

Crea un file di visualizzazione chiamato test.php e salvalo in application/views/test.php

<!DOCTYPE html> 
<html lang = "en">
 
   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter View Example</title> 
   </head>
	
   <body> 
      CodeIgniter View Example 
   </body>
	
</html>

Cambia il file routes.php in application/config/routes.php per aggiungere il percorso per il controller di cui sopra e aggiungere la riga seguente alla fine del file.

$route['profiler'] = "Profiler_controller"; 
$route['profiler/disable'] = "Profiler_controller/disable"

Successivamente, puoi digitare il seguente URL nella barra degli indirizzi del tuo browser per eseguire l'esempio.

http://yoursite.com/index.php/profiler

L'URL sopra abiliterà il profiler e produrrà un output come mostrato nello screenshot seguente.

Per disabilitare la profilazione, eseguire il seguente URL.

http://yoursite.com/index.php/profiler/disable