PluginProbe
ElasticPress / 5.0.2
ElasticPress v5.0.2
5.3.5 5.3.4 3.6.5 3.6.6 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 5.0.0 5.0.1 5.0.2 All 108 releases
elasticpress / includes / partials / stats-page.php

stats-page.php in ElasticPress 5.0.2, at includes/partials/stats-page.php

116 lines 3.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Template for ElasticPress Index health page
4 *
5 * @since 3.1
6 * @package elasticpress
7 */
8
9 use ElasticPress\IndexHelper;
10 use ElasticPress\Stats;
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit; // Exit if accessed directly.
14 }
15
16 require_once __DIR__ . '/header.php';
17
18 $index_meta = IndexHelper::factory()->get_index_meta();
19
20 if ( defined( 'EP_IS_NETWORK' ) && EP_IS_NETWORK ) {
21 $sync_url = network_admin_url( 'admin.php?page=elasticpress-sync' );
22 } else {
23 $sync_url = admin_url( 'admin.php?page=elasticpress-sync' );
24 }
25
26 Stats::factory()->build_stats();
27
28 $index_health = Stats::factory()->get_health();
29 $totals = Stats::factory()->get_totals();
30 $failed_queries = Stats::factory()->get_failed_queries();
31 ?>
32
33 <div class="error-overlay <?php if ( ! empty( $index_meta ) ) : ?>syncing<?php endif; ?>"></div>
34 <div class="wrap metabox-holder">
35 <h1><?php esc_html_e( 'Index Health', 'elasticpress' ); ?></h1>
36
37 <?php if ( ! empty( $failed_queries ) ) : ?>
38 <p>
39 <?php esc_html_e( 'It seems some requests to Elasticsearch failed and it was not possible to build your stats properly:', 'elasticpress' ); ?>
40 </p>
41 <ul>
42 <?php foreach ( $failed_queries as $failed_query ) : ?>
43 <li>
44 <?php
45 printf(
46 '<code>%1$s</code>: <code>%2$s</code>',
47 esc_html( $failed_query['path'] ),
48 esc_html( $failed_query['error'] )
49 );
50 ?>
51 </li>
52 <?php endforeach; ?>
53 </ul>
54 <?php elseif ( ! empty( $index_health ) ) : ?>
55 <div class="ep-flex-container">
56 <div class="stats-list postbox">
57 <h2 class="hndle stats-list-th"><span><?php esc_html_e( 'Index list', 'elasticpress' ); ?></span><span><?php esc_html_e( 'Health', 'elasticpress' ); ?></span></h2>
58 <?php
59 foreach ( $index_health as $index_stat ) :
60 ?>
61 <p class="inside"><?php echo esc_html( $index_stat['name'] ); ?>
62 <span class="status-circle <?php echo esc_attr( $index_stat['health'] ); ?>-status">
63 <?php echo esc_html( $index_stat['health'] ); ?>
64 </span>
65 </p>
66 <?php endforeach; ?>
67 </div>
68 <div class="stats-queries postbox">
69 <h2 class="hndle"><?php esc_html_e( 'Queries & Indexing total', 'elasticpress' ); ?></h2>
70 <div class="ep-qchart-container">
71 <div class="inside">
72 <canvas id="queriesTotalChart" width="400" height="400"></canvas>
73 </div>
74 </div>
75 </div>
76 <div class="postbox doc-chart">
77 <h2 class="hndle"><?php esc_html_e( 'Documents', 'elasticpress' ); ?></h2>
78 <div class="inside">
79 <canvas id="documentChart" width="800" height="450"></canvas>
80 </div>
81 </div>
82 <div class="postbox ep-totals">
83 <h2 class="hndle">Totals</h2>
84 <div class="ep-flex-container">
85 <div class="ep-totals-column inside">
86 <p class="ep-totals-title"><?php esc_html_e( 'Total Documents', 'elasticpress' ); ?></p>
87 <p class="ep-totals-data"><?php echo esc_html( $totals['docs'] ); ?></p>
88 </div>
89 <div class="ep-totals-column inside">
90 <p class="ep-totals-title"><?php esc_html_e( 'Total Size', 'elasticpress' ); ?></p>
91 <p class="ep-totals-data"><?php echo esc_html( Stats::factory()->convert_to_readable_size( $totals['size'] ) ); ?></p>
92 </div>
93 <div class="ep-totals-column inside">
94 <p class="ep-totals-title"><?php esc_html_e( 'Total Memory', 'elasticpress' ); ?></p>
95 <p class="ep-totals-data"><?php echo esc_html( Stats::factory()->convert_to_readable_size( $totals['memory'] ) ); ?></p>
96 </div>
97 </div>
98 </div>
99 </div>
100 <?php else : ?>
101 <p>
102 <?php
103 printf(
104 /* translators: %s: Sync page link. */
105 esc_html__( 'We could not find any data for your Elasticsearch indices. Maybe you need to %s?', 'elasticpress' ),
106 sprintf(
107 '<a href="%1$s">%2$s</a>',
108 esc_url( $sync_url ),
109 esc_html__( 'sync your content', 'elasticpress' )
110 )
111 );
112 ?>
113 </p>
114 <?php endif; ?>
115 </div>
116