You are not logged in.
Bonjour,
il semble qu'il y ait un bug dans le calcul du délai moyen de prise en compte. Voici le résultat de ma recherche :
Statistiques Glpi : Problème sur délai moyen de prise en compte dans les statistiques.
Parfois le calcul est juste, parfois il est erroné ou égal à 0.
Le chiffres qui suivent sont le temps en seconde avec open (temps de fermeture - temps d'ouverture) et First (temps 1er suivi - temps ouverture). Une ligne correspondant à un ticket.
Ils sont obtenus en reproduisant la requete SQL dans la fonction qui calcul la durée moyenne de prise en compte.
Nom : Anglio
date unix open First $min
Min(open, first)
188 2008-01 2243710 111 111 $entrees[2008-01] = 111
574 2008-01 965934 244662 244662 prise en compte = non (1)
575 2008-01 6392 6244 6244 prise en compte = non
613 2008-01 82146 3533 3533 prise en compte = non
622 2008-01 67283 67283 67283 prise en compte = non
731 2008-01 356452 349383 349383 prise en compte = non
734 2008-01 241195 241170 241170 prise en compte = non
(1) pas pris en compte car $min>$entrees[2008-01]
Délai moyen de prise en compte : 0s (arrondi de 111 sec)
Nom : Achille
148 2007-12 753708 507788 507788 entrees[2007-12] = 507788
264 2007-12 154 154 154 prise en compte = oui
374 2007-12 347781 4857 4857 prise en compte = oui
636 2008-01 253102 1432 1432 entrees[2008-01] = 1432
682 2008-01 1660 1226 1226 prise en compte = oui Délai moyen de prise en compte : 1 jour 4 heures 12 mn
En fait dans le fichier statfunction.php on trouve la fonction :
function constructEntryValues($type,$begin="",$end="",$param="",$value="",$value2=""){…
if (!isset($entrees["$date"])) {$entrees["$date"]=$min; $count["$date"]=1;}
else if ($min<$entrees["$date"]) {$entrees["$date"]+=$min;$count["$date"]++;}
---------- avec
$min = MIN(open, first)
$date = $row['date_unix']
il semble que le test $min <$entrée["$date"] pose problème
En modifiant le code
//if (!isset($entrees["$date"])) {$entrees["$date"]=$min; $count["$date"]=1;}
// else if ($min<$entrees["$date"]) {$entrees["$date"]+=$min;$count["$date"]++;}
if (!isset($entrees["$date"])) {$entrees["$date"]=$min; $count["$date"]=1;}
else {$entrees["$date"]+=$min;$count["$date"]++;}
On obtient
Achille 1 jour 4 heures 12min
Anglio 1 jour 12 heures (ce qui est le calcul exact)
Voila
je ne pense pas m'etre trompé
Merci pour vos commentaires
jflc
Last edited by jflc (2008-01-17 19:22:35)
Offline
Effectivement je ne comprend pas cette condition...
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
corrigé sur le SVN pour la prochaine version corrective
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
effectivement un retour comme je les aime
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline