You are here

function monitoring_elysia_cron_monitoring_sensor_info in Monitoring 7

Same name and namespace in other branches
  1. 8 monitoring.monitoring_sensors.inc \monitoring_elysia_cron_monitoring_sensor_info()

Implements monitoring_MODULE_monitoring_sensor_info().

Module: elysia_cron

File

./monitoring.monitoring_sensors.inc, line 672
Define default sensors for core and contrib modules.

Code

function monitoring_elysia_cron_monitoring_sensor_info() {
  $info = array();
  $result = db_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' => format_string('Elysia @name execution', array(
        '@name' => $row->name,
      )),
      'description' => format_string('Last execution duration for elysia @name cron', array(
        '@name' => $row->name,
      )),
      'sensor_class' => 'Drupal\\monitoring\\Sensor\\Sensors\\SensorElysiaCron',
      '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' => format_string('Elysia @name run', array(
        '@name' => $row->name,
      )),
      'description' => format_string('Time since last elysia @name run', array(
        '@name' => $row->name,
      )),
      'sensor_class' => 'Drupal\\monitoring\\Sensor\\Sensors\\SensorElysiaCron',
      'value_type' => 'time_interval',
      'settings' => array(
        'category' => 'Elysia Cron',
        'enabled' => FALSE,
        'name' => $row->name,
        'metric' => 'last_run',
      ),
    );
  }
  return $info;
}