Skip to content
Extraits de code Groupes Projets
Valider 37579376 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

feat: avoir le nombre d'appel d'un squelette et le temps de calcul total dans le debugeur

parent bd938c49
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -732,6 +732,8 @@ et vous reconnecter au site.
'zbug_pagination_sans_critere' => 'Balise #PAGINATION sans critère {pagination} ou employé dans une boucle récursive',
'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@',
'zbug_profile' => 'Temps de calcul : @time@',
'zbug_profile_total' => 'Temps total : @time@',
'zbug_profile_nb' => 'Nb calcul : @nb@',
'zbug_resultat' => 'résultat',
'zbug_serveur_indefini' => 'Serveur SQL indéfini',
'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée',
......
......@@ -677,6 +677,17 @@ function count_occ($regs) {
return $encore;
}
function debusquer_format_millisecondes($t) {
if ($t < 1000) {
$s = '';
} else {
$s = sprintf('%d ', $x = floor($t / 1000));
$t -= ($x * 1000);
}
return $s . sprintf($s ? '%07.3f ms' : '%.3f ms', $t);
}
function debusquer_navigation_squelettes($self) {
$res = '';
......@@ -686,10 +697,18 @@ function debusquer_navigation_squelettes($self) {
foreach ($GLOBALS['debug_objets']['sourcefile'] as $nom => $sourcefile) {
$self2 = parametre_url($self, 'var_mode_objet', $nom);
$nav = $boucles ? debusquer_navigation_boucles($boucles, $nom, $self, $sourcefile) : '';
$temps = isset($GLOBALS['debug_objets']['profile'][$sourcefile]) ? _T(
'zbug_profile',
['time' => $GLOBALS['debug_objets']['profile'][$sourcefile]]
) : '';
$temps = '';
if (!empty($GLOBALS['debug_objets']['profile'][$sourcefile])) {
$t = debusquer_format_millisecondes($GLOBALS['debug_objets']['profile'][$sourcefile]);
$temps = _T('zbug_profile', ['time' => $t]);
if (!empty($GLOBALS['debug_objets']['profile_nb'][$sourcefile])) {
$temps .= ' | ' . _T('zbug_profile_nb', ['nb' => $GLOBALS['debug_objets']['profile_nb'][$sourcefile]]);
}
if (!empty($GLOBALS['debug_objets']['profile_total'][$sourcefile])) {
$t = debusquer_format_millisecondes($GLOBALS['debug_objets']['profile_total'][$sourcefile]);
$temps .= ' | ' . _T('zbug_profile_total', ['time' => $t]);
}
}
$res .= "<fieldset id='f_" . $nom . "'><legend>"
. $t_skel
......
......@@ -141,7 +141,7 @@ function public_parametrer_dist($fond, $contexte = '', $cache = '', string $conn
// spip_log: un joli contexte
$infos = presenter_contexte(array_filter($contexte));
$profile = spip_timer($a);
$profile = spip_timer($a, true);
spip_logger()->info("calcul ($profile) [$skel] $infos"
. ' (' . strlen((string) $page['texte']) . ' octets)');
......@@ -156,6 +156,8 @@ function public_parametrer_dist($fond, $contexte = '', $cache = '', string $conn
$GLOBALS['debug_objets']['resultat'][$fonc . 'tout'] = $t;
$GLOBALS['debug_objets']['courant'] = $courant;
$GLOBALS['debug_objets']['profile'][$sourcefile] = $profile;
$GLOBALS['debug_objets']['profile_total'][$sourcefile] = ($GLOBALS['debug_objets']['profile_total'][$sourcefile] ?? 0) + $profile;
$GLOBALS['debug_objets']['profile_nb'][$sourcefile] = ($GLOBALS['debug_objets']['profile_nb'][$sourcefile] ?? 0) + 1;
if (
$GLOBALS['debug_objets']['sourcefile']
&& _request('var_mode_objet') == $fonc
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter