File "QueueMetricsController.php"
Full Path: /var/www/drive/laravel/horizon/src/Http/Middleware/QueueMetricsController.php
File size: 1.17 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Laravel\Horizon\Http\Controllers;
use Laravel\Horizon\Contracts\MetricsRepository;
class QueueMetricsController extends Controller
{
/**
* The metrics repository implementation.
*
* @var \Laravel\Horizon\Contracts\MetricsRepository
*/
public $metrics;
/**
* Create a new controller instance.
*
* @param \Laravel\Horizon\Contracts\MetricsRepository $metrics
* @return void
*/
public function __construct(MetricsRepository $metrics)
{
parent::__construct();
$this->metrics = $metrics;
}
/**
* Get all of the measured queues.
*
* @return array
*/
public function index()
{
return $this->metrics->measuredQueues();
}
/**
* Get metrics for a given queue.
*
* @param string $id
* @return \Illuminate\Support\Collection
*/
public function show($id)
{
return collect($this->metrics->snapshotsForQueue($id))->map(function ($record) {
$record->runtime = round($record->runtime / 1000, 3);
$record->throughput = (int) $record->throughput;
return $record;
});
}
}