From eb5aa6a0d5a81f38daa338fc8b2a858fce950aa7 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sun, 23 Aug 2009 06:59:06 +0000
Subject: [PATCH] =?UTF-8?q?Unification=20des=20unit=C3=A9s=20de=20temps=20?=
 =?UTF-8?q?de=20calcul=20dans=20le=20d=C3=A9busqueur,=20c'est=20trompeur?=
 =?UTF-8?q?=20que=20les=20nombres=20inf=C3=A9rieurs=20=C3=A0=201=20soient?=
 =?UTF-8?q?=20des=20temps=20plus=20longs=20que=20ceux=20sup=C3=A9rieurs=20?=
 =?UTF-8?q?=C3=A0=20cause=20du=20changement=20d'unit=C3=A9.=20Cette=20modi?=
 =?UTF-8?q?f=20affecte=20la=20fonction=20spip=5Ftimer=20en=20g=C3=A9n?=
 =?UTF-8?q?=C3=A9ral,=20qui=20ne=20donne=20plus=20que=20des=20milliseconde?=
 =?UTF-8?q?s:=20comme=20les=20processus=20HTTP=20sont=20limit=C3=A9s=20?=
 =?UTF-8?q?=C3=A0=20qq=20dizaines=20de=20secondes=20(30=20en=20g=C3=A9n?=
 =?UTF-8?q?=C3=A9ral),=20en=20pratique=20la=20plupart=20des=20temps=20affi?=
 =?UTF-8?q?ch=C3=A9s=20seront=20inf=C3=A9rieurs=20=C3=A0=20la=20seconde,?=
 =?UTF-8?q?=20autant=20se=20cadrer=20l=C3=A0-dessus.=20J'ajoute=20un=20esp?=
 =?UTF-8?q?ace=20apr=C3=A8s=20le=20chiffre=20des=20milliers=20pour=20les?=
 =?UTF-8?q?=20rares=20cas=20o=C3=B9=20il=20appara=C3=AEt=20afin=20que=20ce?=
 =?UTF-8?q?s=20nombres=20restent=20lisibles.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc/utils.php        | 19 ++++++++++------
 ecrire/public/debusquer.php | 43 +++++++++++++++++++++----------------
 2 files changed, 38 insertions(+), 24 deletions(-)

diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 9c35668a68..17db9c55f2 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -432,13 +432,20 @@ function spip_timer($t='rien') {
 	$b=explode(' ',$b);
 	if (count($b)==2) $a = end($b); // plus precis !
 	$b = reset($b);
-	if (isset($time[$t])) {
-		$p = $a + $b - $time[$t];
-		unset($time[$t]);
-		if ($p>0.01)	return sprintf("%.3fs", $p);
-		else					return sprintf("%.1fms", $p*1000);
-	} else
+	if (!isset($time[$t])) {
 		$time[$t] = $a + $b;
+	} else {
+		$p = ($a + $b - $time[$t]) * 1000;
+		unset($time[$t]);
+#			echo "'$p'";exit;
+		if ($p < 1000) 
+			$s = '';
+		else {
+			$s = sprintf("%d ", $x = floor($p/1000));
+			$p -= ($x*1000);
+		}
+		return $s . sprintf("%.3f ms", $p);
+	}
 }
 
 
diff --git a/ecrire/public/debusquer.php b/ecrire/public/debusquer.php
index beb9c1bc58..22f714722c 100644
--- a/ecrire/public/debusquer.php
+++ b/ecrire/public/debusquer.php
@@ -439,24 +439,31 @@ function debusquer_navigation_squelettes($self)
 	$res = '';
 	$boucles = !empty($debug_objets['boucle']) ? $debug_objets['boucle']:'';
 	$contexte = $debug_objets['contexte'];
-	foreach ($debug_objets['sourcefile'] as $nom_skel => $sourcefile) {
-		$self2 = parametre_url($self,'var_mode_objet', $nom_skel);
-		$res .= "<fieldset><legend>" ._T('squelette') . ' '  . $sourcefile ."&nbsp;: ";
-		$res .= "\n<a href='$self2&amp;var_mode_affiche=squelette#$nom_skel'>"._T('squelette')."</a>";
-		$res .= "\n<a href='$self2&amp;var_mode_affiche=resultat#$nom_skel'>"._T('zbug_resultat')."</a>";
-		$res .= "\n<a href='$self2&amp;var_mode_affiche=code#$nom_skel'>"._T('zbug_code')."</a>";
-		$res .= "\n<a href='" . str_replace('var_mode=debug', 'var_profile=1&amp;var_mode=recalcul', $self)
-		  . "'>" .
-		  _T('zbug_calcul')."</a></legend>";
-		$res .= "\n<span style='display:block;float:$spip_lang_right'>"._T('zbug_profile',array('time'=>isset($debug_objets['profile'][$sourcefile])?$debug_objets['profile'][$sourcefile]:0))."</span>";
-
-		$res .= debusquer_contexte($contexte[$sourcefile]);
-
-		if ($boucles)
-			$res .= "<table width='100%'>\n" .
-				debusquer_navigation_boucles($boucles, $nom_skel, $self) .
-				"</table>\n";
-		$res .= "</fieldset>\n";
+	$t_skel = _T('squelette');
+	foreach ($debug_objets['sourcefile'] as $nom => $sourcefile) {
+		$self2 = parametre_url($self,'var_mode_objet', $nom);
+		$nav = !$boucles ? '' : debusquer_navigation_boucles($boucles, $nom, $self);
+		$temps = !isset($debug_objets['profile'][$sourcefile]) ? '' : _T('zbug_profile', array('time'=>$debug_objets['profile'][$sourcefile]));
+
+		$res .= "<fieldset><legend>"
+		. $t_skel
+		. ' ' 
+		. $sourcefile
+		."&nbsp;:\n<a href='$self2&amp;var_mode_affiche=squelette#$nom'>"
+		. $t_skel
+		. "</a>\n<a href='$self2&amp;var_mode_affiche=resultat#$nom'>"
+		. _T('zbug_resultat')
+		. "</a>\n<a href='$self2&amp;var_mode_affiche=code#$nom'>"
+		. _T('zbug_code')
+		."</a>\n<a href='"
+		. str_replace('var_mode=debug', 'var_profile=1&amp;var_mode=recalcul', $self)
+		. "'>"
+		.  _T('zbug_calcul')
+		. "</a></legend>"
+		. (!$temps ? '' : ("\n<span style='display:block;float:$spip_lang_right'>$temps</span><br />"))
+		. debusquer_contexte($contexte[$sourcefile])
+		. (!$nav ? '' : ("<table width='100%'>\n$nav</table>\n"))
+		. "</fieldset>\n";
 	}
 	return $res;
 }
-- 
GitLab