بدون شک نظارت بر درخواستها و میزان مصرف برنامهی لاراولی یکی از چالشهای مهم در سیستمهای لارولی میباشد. در این با پکیجی آشنا خواهیم شد که میتوان با استفاده از آن بصورت لایو و زنده درخواستهای برنامهی لاراولی را در ترمینال و حتی در کد! بررسی کرد و مشاهده کرد.
Laravel Top میتونه عملیات بررسی و نظارت لایو رو از طریق خط فرمان (کامندلاین) برای برنامههای لاراولی فراهم کنه. این پکیج میتونه به شما کمک کنه تا شلوغترین مسیرها رو توی نرمافزار خودتون شناسایی کنید.
لاراول تاپ دادهها رو توی Redis ذخیره میکنه و این به شما کمک میکنه که اگر لاراول شما روی چند سرور باشه اطلاعات درخواستهای همه سرورها رو یک جا داشته باشید.
در لاراول تاپ دادهها با مدت کوتاهی در ردیس ذخیره میشن و در اصل محاسبات روی دادههای ۵ ثانیه اخیر انجام و نمایش داده میشه.
این پکیج فقط به درخواستهای دریافتی گوش میده، بنابراین معیارهای عملیات انجام شده از طریق صفها یا دستورات دیگه نشون داده نمی شن.
همچنین در زمان نوشتن این مقاله Laravel TOP با Laravel ۱۰، Laravel ۱۱، and Laravel Octane سازگار هست.
نصب Laravel TOP
شما میتونید برای نصب لاراول تاپ به گیت هاب این پکیج مراجعه کنید.
برای نصب پکیج شما باید حداقل PHP 8.2+ | Redis 5.0+ رو داشته باشید.
پس از اون کافیه تو ترمینال لاراول خودتون دستور زیر رو برای نصب بزنید:
composer require leventcz/laravel-top
و بعد از اون می تونید برای پابلیش شدن کانفیگ دستور زیر رو اجرا کنید
php artisan vendor:publish --tag="top"
یکی از چیزهای جذاب این پکیج اینه که علاوه بر ترمینال می تونید از تریق فساد TOP نیز به متریک های مورد نظر دسترسی داشته باشید:
<?php
use Leventcz\Top\Facades\Top;
use Leventcz\Top\Data\Route;
// Retrieve HTTP request metrics
$requestSummary = Top::http();
$requestSummary->averageRequestPerSecond;
$requestSummary->averageMemoryUsage;
$requestSummary->averageDuration;
// Retrieve database query metrics
$databaseSummary = Top::database();
$databaseSummary->averageQueryPerSecond;
$databaseSummary->averageQueryDuration;
// Retrieve cache operation metrics
$cacheSummary = Top::cache();
$cacheSummary->averageHitPerSecond;
$cacheSummary->averageMissPerSecond;
$cacheSummary->averageWritePerSecond;
// Retrieve the top 20 busiest routes
$topRoutes = Top::routes();
$topRoutes->each(function(Route $route) {
$route->uri;
$route->method;
$route->averageRequestPerSecond;
$route->averageMemoryUsage;
$route->averageDuration;
});
// Force Top to start recording for the given duration (in seconds)
Top::startRecording(int $duration = 5);
// Force Top to stop recording
Top::stopRecording();
// Check if Top is currently recording
Top::isRecording();
امیدوارم این پکیج براتون مفید باشه و بتونید باهاش کلی حال کنید :) اگه سوالی یا پیشنهادی دارید از بخش نظرات برای تیم پیشرو اپ ارسال کنید.
برای اطلاع از پاسخ به نظر شما می توانید ایمیل یا شماره موبایل خود را وارد نمایید. *
ایمیل و شماره موبایل شما کاملا مخفی خواهد ماند و در سایت نمایش داده نخواهد شد. *
هنوز برای این مطلب نظری ارسال نشده است!