You are here

public function AcquiaContentHubStatusMetricsTrait::getStatusMetrics in Acquia Content Hub 8.2

Calculates metrics timestamped and indexed by status.

Return value

array Array of metric statuses.

File

src/AcquiaContentHubStatusMetricsTrait.php, line 25

Class

AcquiaContentHubStatusMetricsTrait
Trait to set status metrics for Content Hub client cdf entities.

Namespace

Drupal\acquia_contenthub

Code

public function getStatusMetrics($table_name, $modified_column_name) {
  if (!$this->database
    ->schema()
    ->tableExists($table_name)) {
    return [];
  }
  $query = $this->database
    ->select($table_name, 't')
    ->fields('t', [
    'status',
  ])
    ->groupBy('t.status');
  $query
    ->addExpression('count(t.status)', 'count');
  $metrics = $query
    ->execute()
    ->fetchAll(\PDO::FETCH_ASSOC);
  $update_time = $this
    ->getMostRecentUpdateTime($table_name, $modified_column_name);
  return [
    'data' => array_combine(array_column($metrics, 'status'), array_column($metrics, 'count')),
    'last_updated' => $update_time,
  ];
}