| 
<?phpdefine("STATS_PAGE_BOOT_TIME", 'stats_page_boot_time');
 define("STATS_PAGE_COMPLETE_TIME", 'stats_page_complete_time');
 define("STATS_NODE_LOADED", 'stats_node_loaded');
 define("STATS_NODE_LOADED_CACHE", 'stats_node_loaded_cache');
 define("STATS_NODE_BUILT", 'stats_node_built');
 define("STATS_NODE_LIST", 'stats_node_list');
 define("STATS_QTAG_LOADED", 'stats_qtag_loaded');
 
 
 /**
 * Implements hook_boot().
 *
 * @param Environment $env
 *   The Environment.
 *
 * @param array $vars
 *   An array of variables.
 */
 function stats_boot($env, $vars) {
 // Mark page start loading time.
 $env->setData(STATS_PAGE_BOOT_TIME, round(microtime(TRUE) * 1000));
 }
 
 /**
 * Implements hook_page_init().
 *
 * @param Environment $env
 *   The Environment.
 * @param array $vars
 *   An array of variables.
 */
 function stats_page_init($env, $vars) {
 // Mark page end loading time.
 $env->setData(STATS_PAGE_COMPLETE_TIME, round(microtime(TRUE) * 1000));
 }
 
 
 /**
 * Implements hook_node_build().
 *
 * @param Environment $env
 *   The Environment.
 * @param array $vars
 *   An array of variables.
 */
 function stats_node_build($env, $vars) {
 // Mark node building time.
 $env->setData(STATS_NODE_BUILT, ($env->getData(STATS_NODE_BUILT, 0) + 1));
 $list = $env->getData(STATS_NODE_LIST, array());
 $list[] = $vars['node']->name;
 $env->setData(STATS_NODE_LIST, $list);
 
 }
 
 /**
 * Implements hook_node_load().
 *
 * @param Environment $env
 *   The Environment.
 * @param array $vars
 *   An array of variables.
 */
 function stats_node_load($env, $vars) {
 // Count loaded nodes.
 $env->setData(STATS_NODE_LOADED, ($env->getData(STATS_NODE_LOADED, 0) + 1));
 }
 
 /**
 * Implements hook_node_load_cache().
 *
 * @param Environment $env
 *   The Environment.
 * @param array $vars
 *   An array of variables.
 */
 function stats_node_load_cache($env, $vars) {
 // Count nodes loaded from cache.
 $env->setData(STATS_NODE_LOADED_CACHE, ($env->getData(STATS_NODE_LOADED_CACHE, 0) + 1));
 }
 
 /**
 * Implements hook_wikitag().
 *
 * TODO: deprecate in favor of qtag only.
 * @param Environment $env
 *   The Environment.
 * @param array $vars
 *   An array of variables.
 */
 function stats_wikitag($env, $vars) {
 // Counted loaded qtags.
 $env->setData(STATS_QTAG_LOADED, ($env->getData(STATS_QTAG_LOADED, 0) + 1));
 }
 
 /**
 * Implements hook_qtag().
 *
 * @param Environment $env
 *   The Environment.
 * @param array $vars
 *   An array of variables.
 */
 function stats_qtag($env, $vars) {
 // Count loaded qtags.
 $env->setData(STATS_QTAG_LOADED, ($env->getData(STATS_QTAG_LOADED, 0) + 1));
 }
 
 |