monitoring-8.x-1.x-dev/monitoring.monitoring_sensors.inc

monitoring.monitoring_sensors.inc
<?php
/**
 * @file
 * Define default sensors for core and contrib modules.
 *
 * Default sensors provide sensors for core and contrib modules with
 * monitoring_MODULE_monitoring_sensor_info()
 *
 * The default integration for MODULE is omitted if that module provides a
 * SensorPlugin plugin of its own.
 *
 * @see \Drupal\monitoring\Annotation\SensorPlugin
 * @see \Drupal\monitoring\SensorPlugin\SensorPluginInterface
 */

use Drupal\Component\Render\FormattableMarkup;

/**
 * Implements monitoring_MODULE_monitoring_sensor_info().
 *
 * Module: elysia_cron
 */
function monitoring_elysia_cron_monitoring_sensor_info() {
  $info = array();

  $result = \Drupal::database()->select('elysia_cron', 'e')->fields('e', array('name'))->execute()->fetchAll();

  foreach ($result as $row) {
    // Remove the colon from the name as it breaks munin graphs.
    $name = str_replace(':', '', $row->name);
    $info['elysia_cron_' . $name . '_last_execution'] = array(
      'label' => new FormattableMarkup('Elysia @name execution', array('@name' => $row->name)),
      'description' => new FormattableMarkup('Last execution duration for elysia @name cron', array('@name' => $row->name)),
      'plugin_id' => 'elysia_cron',
      'value_type' => 'time_interval',
      'settings' => array(
        'category' => 'Elysia Cron',
        'enabled' => FALSE,
        'name' => $row->name,
        'metric' => 'last_execution_time',
      ),
    );
    $info['elysia_cron_' . $name . '_last_run'] = array(
      'label' => new FormattableMarkup('Elysia @name run', array('@name' => $row->name)),
      'description' => new FormattableMarkup('Time since last elysia @name run', array('@name' => $row->name)),
      'plugin_id' => 'elysia_cron',
      'value_type' => 'time_interval',
      'settings' => array(
        'category' => 'Elysia Cron',
        'enabled' => FALSE,
        'name' => $row->name,
        'metric' => 'last_run',
      ),
    );
  }

  return $info;
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc