1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- // $Id$
- /**
- * @file
- * APC instrumentation for Munin
- *
- * @author Frederic G. MARAND
- *
- * @copyright (c) 2011 Ouest Systèmes Informatiques
- *
- * Licensed under the General Public License version 2 or later.
- */
- /**
- * Implements hook_munin_api_info().
- *
- * @return
- * An array of Munin probes informations, index by probe name.
- */
- function munin_apc_munin_api_info() {
- $int = array(
- '#graph_printf' => '%d',
- );
- $ret = array(
- 'munin_apc' => array(
- '#title' => t('PHP APC'),
- '#info' => t('Collect cache information for the Alternative PHP Cache'),
- 'total_size' => $int + array(
- '#label' => t('Bytes allocated'),
- '#type' => MUNIN_API_GAUGE,
- '#info' => t('Number of bytes allocated to APC.')
- ),
- 'used_size' => $int + array(
- '#label' => t('Bytes in use'),
- '#type' => MUNIN_API_GAUGE,
- '#info' => t('Number of bytes actually used by APC, either cached or deleted'),
- ),
- 'uptime' => $int + array(
- '#label' => t('Up-time of APC instance'),
- '#type' => MUNIN_API_GAUGE,
- '#info' => t('Seconds since last APC restart.'),
- ),
- 'num_hits' => $int + array(
- '#label' => t('Hits since last restart'),
- '#type' => MUNIN_API_COUNTER,
- ),
- 'num_misses' => $int + array(
- '#label' => t('Misses since last restart'),
- '#type' => MUNIN_API_COUNTER,
- ),
- 'num_inserts' => $int + array(
- '#label' => t('Insertions since last restart'),
- '#type' => MUNIN_API_COUNTER,
- ),
- // 'hit_rate' => $int + array(
- // '#label' => t('Hit/miss ratio since last restart'),
- // '#type' => MUNIN_API_GAUGE,
- // ),
- 'cache_entries' => $int + array(
- '#label' => t('Number of cache entries'),
- '#type' => MUNIN_API_GAUGE,
- ),
- 'deleted_entries' => $int + array(
- '#label' => t('Number of deleted entries'),
- '#type' => MUNIN_API_GAUGE,
- '#info' => t('Deleted entries lingering until the garbage collection TTL elapses'),
- ),
- ),
- );
- return $ret;
- }
- /**
- * Implements hook_munin_api_fetch().
- */
- function munin_apc_munin_api_fetch() {
- $info = apc_sma_info();
- $ret = array();
- // SMA Info
- $total = $info['num_seg'] * $info['seg_size'];
- $ret['total_size'] = (int) $total;
- $ret['used_size'] = (int) ($total - $info['avail_mem']);
- // Cache info
- $info = apc_cache_info();
- $ret['uptime'] = time() - $info['start_time'];
- foreach (array('num_hits', 'num_misses', 'num_inserts') as $field) {
- $ret[$field] = $info[$field];
- }
- $ret['cache_entries'] = count($info['cache_list']);
- $ret['deleted_entries'] = count($info['deleted_list']);
- return $ret;
- }
|