Logger le temps d'exécution de vos fonctions php

Description

Le temps d'exécution d'une fonction permet de mesurer si vous avez réussi à programmer un script rapide, ou encore si vos requêtes SQL vous font perdre trop de temps par rapport à d'autres... (temps des requêtes imbriquées).

Les temps sont exprimés en secondes. Ex : 0.00023451 secondes

NB : les fichiers de log sont placés dans le répertoire "logs/[NomDeLaFonction].log" à l'endroit où s'exécute la fonction. Vous devez donc au préalable créer un répertoire "logs".

Source / Exemple :


<?php
if(!function_exists("file_put_contents")){
	function file_put_contents($filename,$content,$flags=0,$context=NULL){
		if($flags==0)
			$flags = FILE_APPEND;
		$fileHandle = @fopen($filename,$flags);
		if ($fileHandle === false) {
			return 0;
		}
		else
		{
			if (is_array($content)) $content = implode($content);
			$bytes_written = fwrite($fileHandle, $content);
			fclose($fileHandle);
			return $bytes_written;
		}//else
	}//function
}
function LogFunctionExecution($function_name,$message,$start){
	$filename = "logs/".$function_name.".log";
	$execution_time = LogExecutionTime($start,microtime(TRUE));
	$message = $function_name."\t".$message."\t".$execution_time."\n";
	file_put_contents($filename,$message,FILE_APPEND);
	//echo "Logging : ".$message." ".$execution_time." seconds<br />";
}
function LogTimeStart(){
	return microtime(TRUE);
	/*
	$t_timeparts = explode(" ",microtime());
	$t_starttime = $t_timeparts[1].substr($t_timeparts[0],1);
	return $t_starttime;

  • /
} function LogExecutionTime($start,$end){ return number_format($end-$start,6,"."," "); } ?>

Conclusion :


Je vous conseille d'ouvrir les fichiers log avec Notepad++ qui gère très bien les retours "\n".

Licence : vous pouvez modifier / transformer à souhait / utilisation commerciale ou non-commerciale.

Le savoir, c'est le partage !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.