This commit is contained in:
Saeed Vaziry
2024-12-14 03:13:47 +01:00
committed by GitHub
parent 0d12dd0c69
commit 572d1df010
20 changed files with 734 additions and 67 deletions

View File

@ -3,30 +3,32 @@
namespace Database\Seeders;
use App\Models\Metric;
use App\Models\Service;
use App\Models\Server;
use Carbon\Carbon;
use Carbon\CarbonPeriod;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Seeder;
class MetricsSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
Metric::query()->delete();
$servers = Server::query()->whereHas('services', function (Builder $query) {
$query->where('type', 'monitoring');
})->get();
$monitoring = Service::query()
->where('type', 'monitoring')
->firstOrFail();
$range = CarbonPeriod::create(Carbon::now()->subDays(7), '1 minute', Carbon::now());
foreach ($range as $date) {
Metric::factory()->create([
'server_id' => $monitoring->server_id,
'created_at' => $date,
]);
/** @var Server $server */
foreach ($servers as $server) {
$monitoring = $server->services()
->where('type', 'monitoring')
->first();
$range = CarbonPeriod::create(Carbon::now()->subHour(), '1 minute', Carbon::now());
foreach ($range as $date) {
Metric::factory()->create([
'server_id' => $monitoring->server_id,
'created_at' => $date,
]);
}
}
}
}