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 / 6
RequestTimeProvider
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 6
 getStats
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 6
1<?php
2
3namespace Qmp\Laravel\DockerScale\Scaler\Providers;
4
5use Qmp\Laravel\DockerScale\Models\HttpLog;
6use Qmp\Laravel\DockerScale\Models\DockerScalerConfig;
7
8class RequestTimeProvider extends ProviderAbstract
9{
10    protected static function getStats(DockerScalerConfig $config): float
11    {
12        $ts = (new \DateTime('-5 minutes'))->getTimestamp();
13        $serviceName = $config->service->service_name;
14
15        $average = HttpLog::where('service', $serviceName)
16            ->where('ts', '>=', $ts)
17            ->avg('time');
18
19        return $average ? $average / 1000000 : 0;
20    }
21}