Retour : page principale > sommaire applications générales > Documentation TBF

TBFramework - Debogage & benchmark


Paramétrage du débogage et du benchmark dans le fichier config.ini

Voir le contenu d'une variable
Pour déboguer, votre application (service ou script), une fois le TBframework installé, il suffit d'utiliser la méthode statique de la classe Debug qui se nomme printr(), de cette façon : Debug::printr($ma_variable);
Cette méthode affichera sur la sortie sélectionnée par la fichier de config (config.ini), le contenu de la variable $ma_variable.
L'affichage du contenu de la variable sera équivalant à celui de la fonction print_r de PHP.

Une alternative est l'utilisation de la méthode dump() : Debug::dump($ma_variable);
Dans ces cas, l'affichage du contenu de la variable sera équivalant à celui de la fonction var_dump de PHP.

Estimer la taille mémoire d'une variable
Pour afficher l'information sur l'espace mémoire occupé par une variable, la méthode tailleMemoireVar($ma_variable) peut être utilisée : Debug::tailleMemoireVar($ma_variable);

Information sur l'utilisation de la mémoire par l'application
Pour afficher l'information sur la mémoire utilisée par le script, la méthode tailleMemoireScript() peut être utilisée : Debug::tailleMemoireScript();
Cela devrait retourner les informations suivantes :
Mémoire -- Utilisé : 1,13 MB || Alloué : 1,25 MB || MAX Utilisé : 1,15 MB || MAX Alloué : 1,25 MB || MAX autorisé : 2048M

Chronométrer les temps d'exécution de morceau de mon application
Il est possible d'utiliser la classe Chronometre pour mesurer le temps d'exécution de morceaux de code source.
Pour ce faire, encadrer le code source à tester d'appel à la méthode chrono() :

Chronometre::chrono('Avant la boucle');
for ($i = 0; $i < 100; $i++) {
  • echo $i.'-';
}
Chronometre::chrono('Après la boucle');

Il vous suffira ensuite de faire appel à la méthode afficherChrono() et d'afficher son retour pour obtenir le tableau du chronométrage : echo Chronometre::afficherChrono();
Le retour aura la forme suivante :
Chronométrage
ActionTemps écoulé (en s.)Cumul du temps écoulé (en s.)
Avant la boucle0,0000,000
Après la boucle0,0470,047
Fin0,0050,052
Total du temps écoulé (en s.)0,052

Ce qui correspond au code HTML suivant :
<table id="chrono" summary="Résultat duchronométrage du programme affichant la page actuelle." lang="fr">
<caption>Chronométrage</caption>
<thead>
	<tr><th>Action</th><th title="Temps écoulé vis à vis de l'action précédente">Temps écoulé (en s.)</th><th>Cumul du temps écoulé (en s.)</th></tr>
</thead>
<tbody>
<tr><th>Avant la boucle</th><td>0,000</td><td>0,000</td></tr>
<tr><th>Après la boucle</th><td>0,047</td><td>0,047</td></tr>
<tr><th>Fin</th><td>0,005</td><td>0,052</td></tr>
</tbody>
<tfoot>
	<tr><th>Total du temps écoulé (en s.)</th><td colspan="2">0,052</td></tr>
</tfoot>
</table>