HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/csm/public_html/wp-content/plugins/w3-total-cache/UsageStatistics_StorageReader.php
<?php
namespace W3TC;

/**
 * Manages data statistics.
 * Metrics:
 *
 */
class UsageStatistics_StorageReader {
	private $items_to_return = 60;

	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(),
			'apc_servers' => array()
		);

		$summary = apply_filters( 'w3tc_usage_statistics_sources', $summary );

		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 );
		}

		$summary['period']['to_update_secs'] = (int)$w->get_hotspot_end() - time() + 1;

		unset( $summary['memcached_servers'] );
		unset( $summary['redis_servers'] );

		while ( count($history) < $this->items_to_return ) {
			array_unshift( $history, array() );
		}

		$summary['history'] = $history;
		return $summary;
	}
}