collector->get_data();
$db_query_num = null;
$db_queries = QM_Collectors::get( 'db_queries' );
if ( $db_queries ) {
# @TODO: make this less derpy:
$db_queries_data = $db_queries->get_data();
if ( isset( $db_queries_data['types'] ) && isset( $db_queries_data['total_time'] ) ) {
$db_query_num = $db_queries_data['types'];
$db_query_time = $db_queries_data['total_time'];
}
}
$raw_request = QM_Collectors::get( 'raw_request' );
$cache = QM_Collectors::get( 'cache' );
$qm_broken = __( 'A JavaScript problem on the page is preventing Query Monitor from working correctly. jQuery may have been blocked from loading.', 'query-monitor' );
$ajax_errors = __( 'PHP errors were triggered during an Ajax request. See your browser developer console for details.', 'query-monitor' );
$this->before_non_tabular_output();
echo ' ' . esc_html( $qm_broken ) . ' ' . esc_html( $ajax_errors ) . '%1$s %2$s → %3$s
',
esc_html( $raw_data['request']['method'] ),
esc_html( $raw_data['request']['url'] ),
esc_html( $status )
);
echo '
';
echo esc_html( number_format_i18n( $data['time_taken'], 4 ) );
if ( $data['time_limit'] > 0 ) {
if ( $data['display_time_usage_warning'] ) {
echo '
';
} else {
echo '
';
}
echo esc_html( sprintf(
/* translators: 1: Percentage of time limit used, 2: Time limit in seconds */
__( '%1$s%% of %2$ss limit', 'query-monitor' ),
number_format_i18n( $data['time_usage'], 1 ),
number_format_i18n( $data['time_limit'] )
) );
echo '';
} else {
echo '
';
printf(
/* translators: 1: Name of the PHP directive, 2: Value of the PHP directive */
esc_html__( 'No execution time limit. The %1$s PHP configuration directive is set to %2$s.', 'query-monitor' ),
'max_execution_time',
'0'
);
echo '';
}
echo '
';
if ( empty( $data['memory'] ) ) {
esc_html_e( 'Unknown', 'query-monitor' );
} else {
echo esc_html( sprintf(
/* translators: %s: Memory used in kilobytes */
__( '%s kB', 'query-monitor' ),
number_format_i18n( $data['memory'] / 1024 )
) );
if ( $data['memory_limit'] > 0 ) {
if ( $data['display_memory_usage_warning'] ) {
echo '
';
} else {
echo '
';
}
echo esc_html( sprintf(
/* translators: 1: Percentage of memory limit used, 2: Memory limit in kilobytes */
__( '%1$s%% of %2$s kB limit', 'query-monitor' ),
number_format_i18n( $data['memory_usage'], 1 ),
number_format_i18n( $data['memory_limit'] / 1024 )
) );
echo '';
} else {
echo '
';
printf(
/* translators: 1: Name of the PHP directive, 2: Value of the PHP directive */
esc_html__( 'No memory limit. The %1$s PHP configuration directive is set to %2$s.', 'query-monitor' ),
'memory_limit',
'0'
);
echo '';
}
}
echo '
'; echo esc_html( number_format_i18n( $db_queries_data['total_time'], 4 ) ); echo '
'; echo '';
if ( ! isset( $db_query_num['SELECT'] ) || count( $db_query_num ) > 1 ) {
foreach ( $db_query_num as $type_name => $type_count ) {
printf(
'
',
esc_attr( $type_name ),
esc_html( $type_name ),
esc_html( number_format_i18n( $type_count ) )
);
}
}
printf(
'',
esc_html( _x( 'Total', 'database queries', 'query-monitor' ) ),
esc_html( number_format_i18n( $db_queries_data['total_qs'] ) )
);
echo '
'; echo esc_html( sprintf( /* translators: 1: Cache hit rate percentage, 2: number of cache hits, 3: number of cache misses */ __( '%1$s%% hit rate (%2$s hits, %3$s misses)', 'query-monitor' ), number_format_i18n( $cache_hit_percentage, 1 ), number_format_i18n( $cache_data['stats']['cache_hits'], 0 ), number_format_i18n( $cache_data['stats']['cache_misses'], 0 ) ) ); echo '
'; } else { echo ''; echo esc_html__( 'Object cache statistics are not available', 'query-monitor' ); echo '
'; } if ( $cache_data['has_object_cache'] ) { echo ''; printf( '%s', esc_url( network_admin_url( 'plugins.php?plugin_status=dropins' ) ), esc_html__( 'External object cache in use', 'query-monitor' ) ); echo '
'; } else { echo ''; echo esc_html__( 'External object cache not in use', 'query-monitor' ); echo '
'; $potentials = array_filter( $cache_data['object_cache_extensions'] ); if ( ! empty( $potentials ) ) { foreach ( $potentials as $name => $value ) { echo ''; echo esc_html( sprintf( /* translators: %s: PHP extension name */ __( 'The %s extension for PHP is installed but is not in use by WordPress', 'query-monitor' ), $name ) ); echo '
'; } } } if ( $cache_data['has_opcode_cache'] ) { foreach ( array_filter( $cache_data['opcode_cache_extensions'] ) as $opcache_name => $opcache_state ) { echo ''; echo esc_html( sprintf( /* translators: %s: Name of cache driver */ __( 'Opcode cache in use: %s', 'query-monitor' ), $opcache_name ) ); echo '
'; } } echo '