Valider 52477d1b rédigé par patfr@ifrance.com's avatar patfr@ifrance.com
Parcourir les fichiers

[new]Outil « Profiling » (Base de données)

-> Tracer les informations correspondant aux requêtes « lentes » (MySQL uniquement, SPIP 2.1.22 et 3.0.9 mini).
-> Tracer les boucles demandant plus de NN secondes pour s’exécuter (SPIP 3.0.9 mini ou SPIP 2.1 avec le plugin « itérateurs »). Mettre à zéro cette option désactive le suivi. Valeur maximale admise : 30 secondes.
-> Rappel : L’appel en URL du paramètre « var_profile=1 » affiche le détail des requêtes SQL et les temps de calcul de chacune.
Doc : http://contrib.spip.net/?article4569

+ Gros bug résolu concernant les variables inconnues
parent 3df62da7
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1737 −1718
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -599,11 +599,30 @@ add_outil( array(
	'code:spip_options' => (defined('_SPIP30000')?'%%filtre_gravite_trace%%%%filtre_gravite%%%%log_brut%%%%log_fileline%%':'')
		. '%%dir_log%%%%file_log%%%%file_log_suffix%%%%max_log%%%%taille_des_logs%%%%nombre_de_logs%%%%log_non%%',
	'categorie' =>'devel',
	'contrib'=>4569,
	'pipelinecode:pre_description_outil' => 'if($id=="spip_log")
	$texte=str_replace(array("@DIR_LOG@","@SPIP_OPTIONS@"),
	array("<code>".cs_root_canonicalize(_DIR_LOG)."</code>",!defined("_CS_SPIP_OPTIONS_OK")?"<br/>"._T("couteauprive:detail_spip_options2"):""),$texte);',
));

add_variables( array(
	'nom' => 'req_lentes',
	'check' => 'couteauprive:req_lentes',
	'defaut' => 0,
	'code:%s' => "defined('_DEBUG_SLOW_QUERIES') || define('_DEBUG_SLOW_QUERIES',true);",
), array(
	'nom' => 'boucles_lentes',
	'format' => _format_NOMBRE,
	'defaut' => 0, // Secondes (0 : pas de profiling)
	'code:%s>0 && %s<=30' => "defined('_BOUCLE_PROFILER') || define('_BOUCLE_PROFILER',%s*1000);",
));
add_outil( array(
	'id' => 'profiling',
	'code:spip_options' => '%%req_lentes%%%%boucles_lentes%%',
	'categorie' =>'devel',
	'contrib'=>4569,
));

add_outil( array(
	'id' => 'test_i18n',
	'code:spip_options' => '$GLOBALS["test_i18n"] = true ;',
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -667,7 +667,7 @@ function cs_php_format($valeur, $is_chaine = true, $dblguill=false) {
function cs_get_code_php_variable($variable, $valeur) {
	global $cs_variables;
	// si la variable n'a pas ete declaree
	if(!isset($cs_variables[$variable])) return _L("/* Variable '$variable' inconnue ! */");
	if(!isset($cs_variables[$variable])) return "/* Variable '$variable' inconnue ! */";
	$cs_variable = &$cs_variables[$variable];
	// mise en forme php de $valeur
	if(!strlen($valeur)) {
+1084 −1076
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -828,9 +828,17 @@ _ • {Contrôle du cache} : option identique à la précédente, avec une écri
	'spip_log:description2' => '@puce@ Le filtre de gravité de SPIP permet de sélectionner le niveau d\'importance maximal à prendre en compte avant la mise en logs d\'une donnée. Un niveau 8 permet par exemple de stocker tous les messages émis par SPIP. Le niveau par défaut est le niveau 5.',
	'spip_log:description3' => '@puce@ Les logs spécifiques au Couteau Suisse s\'activent ici : «[.->cs_comportement]».
_ @puce@ Le décalage horaire utilisé par les fonctions de date/heure se configure ici : «[.->timezone]» {(PHP 5.1 minimum)}.
_ @puce@ Le profiling des requêtes SQL se configure ici  : «[.->profiling]»}.
',
	'spip_log:description4' => '@puce@ Les logs spécifiques aux autorisations s\'activent ici : «[.->autorisations]».',
	'spip_log:nom' => 'SPIP et les logs',
	'profiling:nom' => 'Profiling',
	'profiling:description' => '[[Base de données :->@puce@ %req_lentes%]][[-><br/>@puce@ Tracer les boucles demandant plus de %boucles_lentes% secondes pour s’exécuter <small>(SPIP 3.0.9 mini ou SPIP 2.1 avec le plugin « itérateurs »)</small>.<q3>{Mettre à zéro cette option désactive le suivi.<br/>Valeur maximale admise : 30 secondes.}</q3>]]

@puce@ Rappel : L’appel en URL du paramètre {{« var_profile=1 »}} affiche le détail des requêtes SQL et les temps de calcul de chacune. 

@puce@ Configurez les options de journalisation grâce à l\'outil «[.->spip_log]».',
	'req_lentes' => 'Tracer les informations correspondant aux requêtes [« lentes »->https://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html] <small>(MySQL uniquement, SPIP 2.1.22 et 3.0.9 mini)</small>.',
	'stat_auteurs' => 'Les auteurs en stat',
	'statut' => 'Statut',
	'statuts_spip' => 'Uniquement les statuts SPIP suivants :',
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<paquet
	prefix="couteau_suisse"
	categorie="maintenance"
	version="1.9.2"
	version="1.9.3"
	etat="stable"
	compatibilite="[1.9.2;3.1.*]"
	logo="img/couteau-50.gif"
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -2,7 +2,7 @@
	<nom><multi>[en]Swiss Knife[fr]Le Couteau Suisse[ca]El Ganivet Su&#237;s[ar]&#1587;&#1603;&#1610;&#1606; &#1575;&#1604;&#1580;&#1610;&#1576;[nl]Het Zwitserland Mes[gl]A navalla su&#237;za[es]La Navaja Suiza[de]Schweizer Taschenmesser[tr]&#304;svi&#231;re &#199;ak&#305;s&#305;[br]Ar Gontell Suis[pt_br]Canivete Su&#237;&#231;o[ast]La Navaya Suiza[gl]A navalla su&#237;za[ro]Cu&#355;itul Elve&#355;ian[it]Coltellino Svizzero</multi></nom>
	<slogan>... ou plus de fonctionnalit&#233;s pour SPIP !</slogan>
	<icon>img/couteau-50.gif</icon>
	<version>1.9.2</version>
	<version>1.9.3</version>
	<version_base>1.11</version_base>
	<auteur>Patrice Vanneufville
_ &#169; 2007-2014 - Distribu&#233; sous licence GPL