Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 9
RequestCountProvider
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 9
 getStats
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 9
1<?php
2
3namespace Qmp\Laravel\DockerScale\Scaler\Providers;
4
5use Illuminate\Support\Facades\DB;
6use Illuminate\Support\Facades\Log;
7use Qmp\Laravel\DockerScale\Models\HttpLog;
8use Qmp\Laravel\DockerScale\Models\DockerScalerConfig;
9
10class RequestCountProvider extends ProviderAbstract
11{
12    protected static function getStats(DockerScalerConfig $config): float
13    {
14        $ts = (new \DateTime('-5 minutes'))->getTimestamp();
15        $serviceName = $config->service->service_name;
16
17        $average = HttpLog::select(DB::raw('count(0) as num'))
18            ->where('service', $serviceName)
19            ->where('ts', '>=', $ts)
20            ->groupBy('ts')
21            ->get()
22            ->average('num');
23
24        return $average ? $average : 0;
25    }
26}