MainWP – Pro-Report Uptime Monitoring Tokens

Tech Articles | January 10, 2025 | Coding, MainWP, Plugins, Wordpress

Having answered a Facebook group post about the new uptime monitoring and pro reports, I thought I’d say that I noticed the following tokens exist for use within pro reports and having tested a few of them, they do seem to render:

Now, as luck would have it I happened to see there was an update a few minutes before this question was asked and noticed the new tokens so you need to be running Version 5.0.6

A new uptime monitoring solution was added recently to MainWP and this appears to be the tokens for that data

  • [uptime.alltimeuptimeratio]
  • [uptime.uptime7]
  • [uptime.uptime15]
  • [uptime.uptime30]
  • [uptime.uptime45]
  • [uptime.uptime60]
  • [uptime.stats]
  • [uptime.numberofincidents]
  • [uptime.responsetime.avg]
  • [uptime.responsetime.min]
  • [uptime.responsetime.max]
  • [uptime.startdate]
  • [uptime.enddate]
  • [uptime.visits.chart]

The reason for this is the code within pro-reports

if ( ! empty( $reports_data['response_time_chart_data'] ) && is_array( $reports_data['response_time_chart_data'] ) ) {
			$chart_data = $reports_data['response_time_chart_data'];
		}

		// 'uptimeratiosall' => 365, // Last 365 days.
		// 'uptimeratios7'   => 7,
		// 'uptimeratios15'  => 15,
		// 'uptimeratios30'  => 30,
		// 'uptimeratios45'  => 45,
		// 'uptimeratios60'  => 60,

		$output                              = array();
		$output['uptime.alltimeuptimeratio'] = isset( $uptime_ratios['uptimeratiosall'] ) && is_numeric( $uptime_ratios['uptimeratiosall'] ) ? number_format( $uptime_ratios['uptimeratiosall'], 2 ) . ' %' : 'N/A';
		$output['uptime.uptime7']            = isset( $uptime_ratios['uptimeratios7'] ) && is_numeric( $uptime_ratios['uptimeratios7'] ) ? number_format( $uptime_ratios['uptimeratios7'], 2 ) . ' %' : 'N/A';
		$output['uptime.uptime15']           = isset( $uptime_ratios['uptimeratios15'] ) && is_numeric( $uptime_ratios['uptimeratios15'] ) ? number_format( $uptime_ratios['uptimeratios15'], 2 ) . ' %' : 'N/A';
		$output['uptime.uptime30']           = isset( $uptime_ratios['uptimeratios30'] ) && is_numeric( $uptime_ratios['uptimeratios30'] ) ? number_format( $uptime_ratios['uptimeratios30'], 2 ) . ' %' : 'N/A';
		$output['uptime.uptime45']           = isset( $uptime_ratios['uptimeratios45'] ) && is_numeric( $uptime_ratios['uptimeratios45'] ) ? number_format( $uptime_ratios['uptimeratios45'], 2 ) . ' %' : 'N/A';
		$output['uptime.uptime60']           = isset( $uptime_ratios['uptimeratios60'] ) && is_numeric( $uptime_ratios['uptimeratios60'] ) ? number_format( $uptime_ratios['uptimeratios60'], 2 ) . ' %' : 'N/A';
		$output['uptime.stats']              = $this->render_uptime_monitoring_stats_reports( $monitor, $events_data );

		$output['uptime.numberofincidents'] = isset( $incidents['count_incidents'] ) ? intval( $incidents['count_incidents'] ) : 'N/A';
		$output['uptime.responsetime.avg']  = isset( $reports_data['avg_resp_time'] ) ? esc_html( $reports_data['avg_resp_time'] ) : 'N/A';
		$output['uptime.responsetime.min']  = isset( $reports_data['min_resp_time'] ) ? esc_html( $reports_data['min_resp_time'] ) : 'N/A';
		$output['uptime.responsetime.max']  = isset( $reports_data['max_resp_time'] ) ? esc_html( $reports_data['max_resp_time'] ) : 'N/A';

		$output['uptime.startdate'] = MainWP_Pro_Reports_Utility::format_datestamp( $date_from, true );
		$output['uptime.enddate']   = MainWP_Pro_Reports_Utility::format_datestamp( $date_to, true );

		$output['uptime.visits.chart'] = $this->render_uptime_monitoring_reports_chart( $date_from, $date_to, $chart_data, $site_id );

		self::$buffer[ $uniq ] = $output;

		return $output;
PHP

Support the Author

buy me a coffee
Really Useful Plugin Logo
Appoligies for any spelling and grammer issue. As a dyslexic i need to rely on tools for this they like me are not perfect but I do try my best