Esempio n. 1
0
 /**
  * The method
  * - lists all currently included and required files.
  * - counts all includes files
  * - calculates the total size (combined filesize) of all inclusions
  */
 public static function getIncludedFiles()
 {
     // init vars
     $includedFiles = $files = array();
     $includedFilesTotalSize = $includedFilesCount = 0;
     // fetch all included files
     $files = get_included_files();
     // loop over all included files and sum up filesize
     foreach ($files as $file) {
         $size = filesize($file);
         $includedFiles[] = array('name' => $file, 'size' => $size);
         $includedFilesTotalSize += $size;
     }
     // total number of included files
     $includedFilesCount = count($includedFiles);
     $includedFilesTotalSize = Koch_Functions::getsize($includedFilesTotalSize);
     self::printR(array('count' => $includedFilesCount, 'size' => $includedFilesTotalSize, 'files' => $includedFiles));
 }
Esempio n. 2
0
/**
 * Smarty plugin
 *
 * Type:     modifier<br>
 * Name:     megabytes<br>
 * Date:     Oct 07, 2008
 * Purpose:  convert a number to megabytes , kilobytes, bytes
 * Input:<br>
 *         - string = bytesize to convert to mb, kb, b
 * Example:  {$bytesize|megabytes}
 * @param string
 * @return string
 */
function smarty_modifier_megabytes($string)
{
    return Koch_Functions::getsize($string);
}
Esempio n. 3
0
 /**
  * Get stats and usage Informations for display from APC
  * 1. Shared Memory Allocation
  * 2. Cache Infos / Meta-Data
  */
 public function stats()
 {
     $apc_sysinfos = array();
     // Retrieve APC Version
     $apc_sysinfos['version'] = phpversion('apc');
     $apc_sysinfos['phpversion'] = phpversion();
     /**
      * ========================================================
      *   Retrieves APC's Shared Memory Allocation information
      * ========================================================
      */
     if (function_exists('apc_sma_info')) {
         $apc_sysinfos['sma_info'] = apc_sma_info();
         // set "false" for details
         // Calculate "APC Memory Size" (Number of Segments * Size of Segment)
         $apc_sysinfos['sma_info']['mem_size'] = $apc_sysinfos['sma_info']['num_seg'] * $apc_sysinfos['sma_info']['seg_size'];
         // Calculate "APC Memory Usage" ( mem_size - avail_mem )
         $apc_sysinfos['sma_info']['mem_used'] = $apc_sysinfos['sma_info']['mem_size'] - $apc_sysinfos['sma_info']['avail_mem'];
         // Calculate "APC Free Memory Percentage" ( mem_size*100/mem_used )
         $apc_sysinfos['sma_info']['mem_avail_percentage'] = sprintf('(%.1f%%)', $apc_sysinfos['sma_info']['avail_mem'] * 100 / $apc_sysinfos['sma_info']['mem_size']);
     }
     if (function_exists('apc_cache_info') and false === extension_loaded('Zend Data Cache')) {
         // Retrieves cached information and meta-data from APC's data store
         $apc_sysinfos['cache_info'] = apc_cache_info();
         #Koch_Debug::printR(apc_cache_info());
         $apc_sysinfos['cache_info']['cached_files'] = count($apc_sysinfos['cache_info']['cache_list']);
         $apc_sysinfos['cache_info']['deleted_files'] = count($apc_sysinfos['cache_info']['deleted_list']);
         /**
          * ========================================================
          *   System Cache Informations
          * ========================================================
          */
         $apc_sysinfos['system_cache_info'] = apc_cache_info('system', false);
         // set "false" for details
         // Calculate "APC Hit Rate Percentage"
         $total_hits = $apc_sysinfos['system_cache_info']['num_hits'] + $apc_sysinfos['system_cache_info']['num_misses'];
         // div by zero fix
         if ($total_hits == 0) {
             $total_hits = 1;
         }
         $hit_rate = $apc_sysinfos['system_cache_info']['num_hits'] * 100 / $total_hits;
         $apc_sysinfos['system_cache_info']['hit_rate_percentage'] = sprintf('(%.1f%%)', $hit_rate);
         // Calculate "APC Miss Rate Percentage"
         $apc_sysinfos['system_cache_info']['miss_rate_percentage'] = sprintf('(%.1f%%)', $apc_sysinfos['system_cache_info']['num_misses'] * 100 / $total_hits);
         $apc_sysinfos['system_cache_info']['files_cached'] = count($apc_sysinfos['system_cache_info']['cache_list']);
         $apc_sysinfos['system_cache_info']['files_deleted'] = count($apc_sysinfos['system_cache_info']['deleted_list']);
         $time = time();
         // Request Rate (hits, misses) / cache requests/second
         $apc_sysinfos['system_cache_info']['req_rate'] = sprintf('%.2f', ($apc_sysinfos['system_cache_info']['num_hits'] + $apc_sysinfos['system_cache_info']['num_misses']) / ($time - $apc_sysinfos['system_cache_info']['start_time']));
         $apc_sysinfos['system_cache_info']['hit_rate'] = sprintf('%.2f', $apc_sysinfos['system_cache_info']['num_hits'] / ($time - $apc_sysinfos['system_cache_info']['start_time']));
         $apc_sysinfos['system_cache_info']['miss_rate'] = sprintf('%.2f', $apc_sysinfos['system_cache_info']['num_misses'] / ($time - $apc_sysinfos['system_cache_info']['start_time']));
         $apc_sysinfos['system_cache_info']['insert_rate'] = sprintf('%.2f', $apc_sysinfos['system_cache_info']['num_inserts'] / ($time - $apc_sysinfos['system_cache_info']['start_time']));
         // size
         $apc_sysinfos['system_cache_info']['size_files'] = Koch_Functions::getsize($apc_sysinfos['system_cache_info']['mem_size']);
     }
     $apc_sysinfos['settings'] = ini_get_all('apc');
     /**
      * ini_get_all array mod: for each accessvalue
      * add the name of the PHP ACCESS CONSTANTS as 'accessname'
      * @todo: cleanup?
      */
     foreach ($apc_sysinfos['settings'] as $key => $value) {
         foreach ($value as $key2 => $value2) {
             if ($key2 == 'access') {
                 $name = '';
                 // accessvalue => constantname
                 if ($value2 == '1') {
                     $name = 'PHP_INI_USER';
                 }
                 if ($value2 == '2') {
                     $name = 'PHP_INI_PERDIR';
                 }
                 if ($value2 == '4') {
                     $name = 'PHP_INI_SYSTEM';
                 }
                 if ($value2 == '7') {
                     $name = 'PHP_INI_ALL';
                 }
                 // add accessname to the original array
                 $apc_sysinfos['settings'][$key]['accessname'] = $name;
                 unset($name);
             }
         }
     }
     #$apc_sysinfos['sma_info']['size_vars']  = Koch_Functions::getsize($cache_user['mem_size']);
     return $apc_sysinfos;
 }