You are here

protected function DatabaseAggregatorSensorPlugin::getAggregateQuery in Monitoring 8

Builds simple aggregate query over one db table.

Return value

\Drupal\Core\Database\Query\Select The select query object.

8 calls to DatabaseAggregatorSensorPlugin::getAggregateQuery()
DatabaseAggregatorSensorPlugin::runSensor in src/Plugin/monitoring/SensorPlugin/DatabaseAggregatorSensorPlugin.php
Runs the sensor, updating $sensor_result.
Dblog404SensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/Dblog404SensorPlugin.php
Builds simple aggregate query over one db table.
ImageMissingStyleSensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/ImageMissingStyleSensorPlugin.php
Builds simple aggregate query over one db table.
NonExistingUserFailedLoginsSensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/NonExistingUserFailedLoginsSensorPlugin.php
Builds simple aggregate query over one db table.
PhpNoticesSensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/PhpNoticesSensorPlugin.php
Builds simple aggregate query over one db table.

... See full list

7 methods override DatabaseAggregatorSensorPlugin::getAggregateQuery()
Dblog404SensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/Dblog404SensorPlugin.php
Builds simple aggregate query over one db table.
ImageMissingStyleSensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/ImageMissingStyleSensorPlugin.php
Builds simple aggregate query over one db table.
NonExistingUserFailedLoginsSensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/NonExistingUserFailedLoginsSensorPlugin.php
Builds simple aggregate query over one db table.
PhpNoticesSensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/PhpNoticesSensorPlugin.php
Builds simple aggregate query over one db table.
Redirect404SensorPlugin::getAggregateQuery in src/Plugin/monitoring/SensorPlugin/Redirect404SensorPlugin.php
Builds simple aggregate query over one db table.

... See full list

File

src/Plugin/monitoring/SensorPlugin/DatabaseAggregatorSensorPlugin.php, line 98
Contains \Drupal\monitoring\Plugin\monitoring\SensorPlugin\DatabaseAggregatorSensorPlugin.

Class

DatabaseAggregatorSensorPlugin
Database aggregator able to query a single db table.

Namespace

Drupal\monitoring\Plugin\monitoring\SensorPlugin

Code

protected function getAggregateQuery() {

  /* @var \Drupal\Core\Database\Connection $database */
  $database = $this
    ->getService('database');

  // Get aggregate query for the table.
  $query = $database
    ->select($this->sensorConfig
    ->getSetting('table'));
  $this
    ->addAggregateExpression($query);

  // Add conditions.
  foreach ($this
    ->getConditions() as $condition) {
    $this
      ->translateCondition($condition, $query);
    $query
      ->condition($condition['field'], $condition['value'], isset($condition['operator']) ? $condition['operator'] : NULL);
  }

  // Apply time interval on field.
  if ($this
    ->getTimeIntervalField() && $this
    ->getTimeIntervalValue()) {
    $query
      ->condition($this
      ->getTimeIntervalField(), \Drupal::time()
      ->getRequestTime() - $this
      ->getTimeIntervalValue(), '>');
  }
  return $query;
}