Valider eb5aa6a0 rédigé par esj's avatar esj
Parcourir les fichiers

Unification des unités de temps de calcul dans le débusqueur, c'est trompeur...

Unification des unités de temps de calcul dans le débusqueur, c'est trompeur que les nombres inférieurs à 1 soient des temps plus longs que ceux supérieurs à cause du changement d'unité. Cette modif affecte la fonction spip_timer en général, qui ne donne plus que des millisecondes: comme les processus HTTP sont limités à qq dizaines de secondes (30 en général), en pratique la plupart des temps affichés seront inférieurs à la seconde, autant se cadrer là-dessus. J'ajoute un espace après le chiffre des milliers pour les rares cas où il apparaît afin que ces nombres restent lisibles.
parent 6d3a43d7
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+13 −6
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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);
	}
}


+25 −18
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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;
}