public function get_history_summary() { $w = new UsageStatistics_StorageWriter(); $w->maybe_flush_hotspot_data(); $history_encoded = get_site_option('w3tc_stats_history'); $history = null; if (!empty($history_encoded)) { $history = json_decode($history_encoded, true); } if (!is_array($history)) { $history = array(); } $summary = array('memcached_servers' => array(), 'redis_servers' => array()); if (count($history) <= 0) { $summary = array('period' => array()); } else { $timestamp_start = $history[0]['timestamp_start']; $timestamp_end = $history[count($history) - 1]['timestamp_end']; $period = array('timestamp_start' => $timestamp_start, 'timestamp_start_mins' => Util_UsageStatistics::time_mins($timestamp_start), 'timestamp_end' => $timestamp_end, 'timestamp_end_mins' => Util_UsageStatistics::time_mins($timestamp_end)); $period['seconds'] = $timestamp_end - $timestamp_start; $summary['period'] = $period; $summary['timeout_time'] = time() + 15; $summary = apply_filters('w3tc_usage_statistics_summary_from_history', $summary, $history); if (count($summary['memcached_servers']) > 0) { $summary['memcached'] = $this->get_memcached_summary($summary['memcached_servers']); } if (count($summary['redis_servers']) > 0) { $summary['redis'] = $this->get_redis_summary($summary['redis_servers']); } } $summary['period']['to_update_secs'] = (int) $w->get_hotspot_end() - time() + 1; unset($summary['memcached_servers']); unset($summary['redis_servers']); return $summary; }