Changeset 108078 in spip-zone


Ignore:
Timestamp:
Dec 17, 2017, 4:49:23 PM (18 months ago)
Author:
jluc@…
Message:

stats et rendement du cache : global ou pour js et css seulement ou autres seulement

Location:
_plugins_/xray/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/xray/trunk/xray_apc.php

    r108003 r108078  
    975975                $i                = 0;
    976976                $_namespace       = _CACHE_NAMESPACE;
    977                 echo <<< EOB
    978                 <div class="info div1"><h2>Mémoization SPIP</h2>
    979                 <table cellspacing=0><tbody>
    980                 <tr class=tr-0><td class=td-0>_CACHE_NAMESPACE</td><td>$_namespace</td></tr>
    981                 </table></div>
    982 EOB;
     977               
     978                $list = array();
     979                foreach($cache['cache_list'] as $i => $entry) {
     980                        $k = 'a_'.sprintf('%015d', $entry['creation_time']).$entry['info'];
     981                        $entry ['date_crea'] = date(DATE_FORMAT, $entry['creation_time']);
     982                        $entry ['info_exists'] = apcu_exists ($entry['info']);
     983                        $list[$k] = $entry;
     984                }
     985                // tri à l'envers pour ne pas réindexer le tableaux numériquement avec array_shift
     986                krsort($list, SORT_STRING);
     987                                echo "<div class='info div1'><h2>Mémoization SPIP</h2>
     988                                <table cellspacing=0><tbody>
     989                                <tr class=tr-0><td class=td-0>_CACHE_NAMESPACE</td><td>"._CACHE_NAMESPACE."</td></tr>";
     990                $nb_fantomes = $nb_existe = $nb_hits = $nb_requetes = $taille = $mem_hits = $mem_requetes = 0;
     991                while (count($list)) {
     992                        $d = array_pop($list);
     993                        if ($d and apcu_exists($d['info'])) {
     994                                $nb_existe++;
     995                                $taille += $d['mem_size'];
     996                                if (!$naissance)
     997                                        $naissance = date(DATE_FORMAT,$d['creation_time']);
     998                                $nb_hits += $d['num_hits'];
     999                                $nb_requetes += $d['num_hits'] + 1;
     1000                                $mem_hits += $d['mem_size']*$d['num_hits'];
     1001                                $mem_requetes += $d['mem_size']*($d['num_hits'] + 1);
     1002                                if (preg_match(_PATTERN_STATS_SPECIALES, $d['info'])) {
     1003                                        $nb_speciales++;
     1004                                        $taille_speciales += $d['mem_size'];
     1005                                        $nb_hits_speciales += $d['num_hits'];
     1006                                        $nb_requetes_speciales += $d['num_hits'] + 1;
     1007                                        $mem_hits_speciales += $d['mem_size']*$d['num_hits'];
     1008                                        $mem_requetes_speciales += $d['mem_size']*($d['num_hits'] + 1);
     1009                                }
     1010                                else {
     1011                                        $nb_sans_speciales++;
     1012                                        $taille_sans_speciales += $d['mem_size'];
     1013                                        $nb_hits_sans_speciales += $d['num_hits'];
     1014                                        $nb_requetes_sans_speciales += $d['num_hits'] + 1;
     1015                                        $mem_hits_sans_speciales += $d['mem_size']*$d['num_hits'];
     1016                                        $mem_requetes_sans_speciales += $d['mem_size']*($d['num_hits'] + 1);
     1017                                }
     1018                        }
     1019                        else {
     1020                                $nb_fantomes++;
     1021                                $taille_fantomes += $d['mem_size'];
     1022                                $nb_hits_fantomes += $d['num_hits'];
     1023                                $nb_requetes_fantomes += $d['num_hits'] + 1;
     1024                                $mem_hits_fantomes += $d['mem_size']*$d['num_hits'];
     1025                                $mem_requetes_fantomes += $d['mem_size']*($d['num_hits'] + 1);
     1026                        }
     1027                };
     1028       
     1029        echo
     1030                "<tr class=tr-0><td class=td-0>Nb caches</td><td>".count($cache['cache_list'])."</td></tr>
     1031                <tr class=tr-0><td class=td-0>Nb caches valides</td><td>$nb_existe</td></tr>";
     1032        if ($nb_existe)
     1033                echo "
     1034                <tr class=tr-0><td class=td-0>Plus vieux cache valide</td><td>$naissance</td></tr>
     1035                <tr class=tr-0><td class=td-0>Taille totale</td><td>".taille_en_octets($taille)."</td></tr>
     1036                <tr class=tr-0><td class=td-0>Nb requetes</td><td>$nb_requetes</td></tr>";
     1037        if ($nb_requetes)
     1038                echo "
     1039                <tr class=tr-0><td class=td-0>Nb hits</td><td>$nb_hits soit ".round(100*$nb_hits/$nb_requetes,1)."%</td></tr>
     1040                <tr class=tr-0><td class=td-0 title='Service par le cache pondéré par la taille'>Performance</td><td>".round(100*$mem_hits/$mem_requetes,1)."%</td></tr>";
     1041
     1042        if ($nb_speciales)
     1043                echo "
     1044                <tr><td colspan=2><b>"._LABEL_STATS_SPECIALES."</b></td></tr>
     1045                <tr class=tr-0><td class=td-0>Nb caches</td><td>$nb_speciales</td></tr>
     1046                <tr class=tr-0><td class=td-0>Taille totale</td><td>".taille_en_octets($taille_speciales)."</td></tr>
     1047                <tr class=tr-0><td class=td-0>Nb requetes</td><td>$nb_requetes_speciales</td></tr>
     1048                <tr class=tr-0><td class=td-0>Nb hits</td><td>$nb_hits_speciales soit ".round(100*$nb_hits_speciales/$nb_requetes_speciales,1)."%</td></tr>
     1049                <tr class=tr-0><td class=td-0 title='Service par le cache pondéré par la taille'>Performance</td><td>".round(100*$mem_hits_speciales/$mem_requetes_speciales,1)."%</td></tr>";
     1050        else
     1051                echo "<tr><td colspan=2>"._LABEL_STATS_SPECIALES." : aucun cache</td></tr>";
     1052               
     1053        if ($nb_sans_speciales)
     1054                echo "
     1055                <tr><td colspan=2><b>"._LABEL_STATS_SPECIALES_EXCLUES."</b></td></tr>
     1056                <tr class=tr-0><td class=td-0>Nb caches</td><td>$nb_sans_speciales</td></tr>
     1057                <tr class=tr-0><td class=td-0>Taille totale</td><td>".taille_en_octets($taille_sans_speciales)."</td></tr>
     1058                <tr class=tr-0><td class=td-0>Nb requetes</td><td>$nb_requetes_sans_speciales</td></tr>
     1059                <tr class=tr-0><td class=td-0>Nb hits</td><td>$nb_hits_sans_speciales soit ".round(100*$nb_hits_sans_speciales/$nb_requetes_sans_speciales,1)."%</td></tr>
     1060                <tr class=tr-0><td class=td-0 title='Service par le cache pondéré par la taille'>Performance</td><td>".round(100*$mem_hits_sans_speciales/$mem_requetes_sans_speciales,1)."%</td></tr>";
     1061        else
     1062                echo "<tr><td  colspan=2>"._LABEL_STATS_SPECIALES_EXCLUES." : aucun cache</td></tr>";
     1063               
     1064        if ($nb_fantomes)
     1065                echo "
     1066                <tr><td colspan=2><b>Caches périmés</b></td></tr>
     1067                <tr class=tr-0><td class=td-0>Nb caches</td><td>$nb_fantomes</td></tr>
     1068                <tr class=tr-0><td class=td-0>Total taille</td><td>".taille_en_octets($taille_fantomes)."</td></tr>
     1069                <tr class=tr-0><td class=td-0>Nb anciennes requetes</td><td>$nb_requetes_fantomes</td></tr>
     1070                <tr class=tr-0><td class=td-0>Nb anciens hits</td><td>$nb_hits_fantomes soit ".round(100*$nb_hits_fantomes/$nb_requetes_fantomes,1)."%</td></tr>
     1071                <tr class=tr-0><td class=td-0 title='Service par le cache pondéré par la taille'>Performance</td><td>".round(100*$mem_hits_fantomes/$mem_requetes_fantomes,1)."%</td></tr>";
     1072        else
     1073                echo "<tr><td colspan=2>Aucun cache n'est périmé</td></tr>";
     1074
     1075        echo "</table></div>";
     1076
    9831077                echo <<< EOB
    9841078                <div class="info div1"><h2>General Cache Information</h2>
  • _plugins_/xray/trunk/xray_options.php

    r107450 r108078  
    11<?php
     2if (!defined('_ECRIRE_INC_VERSION')) return;
    23
    3 if (!defined('_ECRIRE_INC_VERSION')) return;
     4define ('_PATTERN_STATS_SPECIALES', '/\.(js|css)/ui');
     5define ('_LABEL_STATS_SPECIALES', 'Javascript et css');
     6define ('_LABEL_STATS_SPECIALES_EXCLUES', 'Sans les javascript et css');
    47
    58global $Memoization;
     
    1720        };
    1821}
     22
Note: See TracChangeset for help on using the changeset viewer.