diff --git a/config/schema/monitoring.schema.yml b/config/schema/monitoring.schema.yml index 658117e..5594445 100644 --- a/config/schema/monitoring.schema.yml +++ b/config/schema/monitoring.schema.yml @@ -269,7 +269,7 @@ monitoring.settings.system_load: label: Average type: string -monitoring.settings.performance_settings: +monitoring.settings.monitoring_performance_settings: type: monitoring.settings_base label: 'Monitoring perfomance settings' diff --git a/src/Plugin/monitoring/SensorPlugin/PerformanceSettingsSensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/PerformanceSettingsSensorPlugin.php index fd3d32c..21d8e6b 100644 --- a/src/Plugin/monitoring/SensorPlugin/PerformanceSettingsSensorPlugin.php +++ b/src/Plugin/monitoring/SensorPlugin/PerformanceSettingsSensorPlugin.php @@ -5,7 +5,9 @@ namespace Drupal\monitoring\Plugin\monitoring\SensorPlugin; use Drupal\Core\Cache\Cache; use Drupal\Core\Cache\CacheableMetadata; use Drupal\monitoring\Result\SensorResultInterface; +use Drupal\monitoring\SensorPlugin\ExtendedInfoSensorPluginInterface; use Drupal\monitoring\SensorPlugin\SensorPluginBase; +use Drupal\Core\Cache\NullBackend; /** * Monitors performance settings. @@ -17,7 +19,7 @@ use Drupal\monitoring\SensorPlugin\SensorPluginBase; * addable = FALSE * ) */ -class PerformanceSettingsSensorPlugin extends SensorPluginBase { +class PerformanceSettingsSensorPlugin extends SensorPluginBase implements ExtendedInfoSensorPluginInterface { /** * {@inheritdoc} @@ -30,7 +32,7 @@ class PerformanceSettingsSensorPlugin extends SensorPluginBase { * {@inheritdoc} */ public function resultVerbose(SensorResultInterface $result) { - $output = NULL; + $output = []; $performance_config = \Drupal::config('system.performance'); $css_enabled = $performance_config->get('css.preprocess'); $js_enabled = $performance_config->get('js.preprocess'); @@ -41,10 +43,29 @@ class PerformanceSettingsSensorPlugin extends SensorPluginBase { $bins = Cache::getBins(); $null_cache_bins = FALSE; foreach ($bins as $bin) { - if (!$bin) { + if ($bin instanceof NullBackend) { $null_cache_bins = TRUE; } } + $header = []; + $header['css'] = $this->t('CSS'); + $header['js'] = $this->t('JS Aggregation'); + $header['page_caching'] = $this->t('Page caching'); + $header['non_zero'] = $this->t('Non-zero max age setting'); + $header['null_backend'] = t('Null backend cache bins'); + $rows[] = [ + 'css' => $css_enabled ? 'Enabled' : 'Disabled', + 'js' => $js_enabled ? 'Enabled' : 'Disabled', + 'page_caching' => $page_caching_enabled ? 'Enabled' : 'Disabled', + 'non_zero' => $non_zero_max_age ? 'Yes' : 'No', + 'null_backend' => $null_cache_bins ? 'Yes' : 'No', + ]; + $output['performance'] = [ + '#type' => 'verbose_table_result', + '#title' => $this->t('Performance settings'), + '#header' => $header, + '#rows' => $rows, + ]; return $output; }