Metrics: Просте та елегантне відстеження метрик для Laravel

3
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Вас цікавить, як ефективно відстежувати метрики у вашій Laravel аплікації? У цій статті ми розглянемо пакет Metrics від Стівена Бомана, який спрощує запис та запит метрик — від підписки користувачів до відсотка помилок. Дізнайтеся, як налаштувати та використовувати цей потужний інструмент!

Metrics — це пакет, створений Стіва Баумана, який пропонує простий та елегантний спосіб ведення обліку та запитів до метрик у вашій Laravel аплікації. Легко відстежуйте перегляди сторінок, API запити, реєстрацію користувачів або будь-які інші підрахункові події.

Для встановлення цього пакету використайте Composer, а потім опублікуйте та запустіть міграції:

composer require directorytree/metrics
php artisan vendor:publish --tag="metrics-migrations"
php artisan migrate

Після цього ви можете почати відстежувати метрики, використовуючи фасад Metric:

use DirectoryTree\Metrics\MetricData;
use DirectoryTree\Metrics\Facades\Metrics;

Metrics::record(new MetricData('signups'));

Або скористайтеся допоміжним методом metric:

metric('signups')->record();

Ви також можете організувати свої метрики за категоріями:

// Відстежуйте помилки за ступенем
metric('errors')->category('critical')->record();
metric('errors')->category('warning')->record();

Ваші метрики можна асоціювати з вашими моделями Eloquent за допомогою трейту HasMetrics:

use DirectoryTree\Metrics\HasMetrics;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    use HasMetrics;
}
$user = User::find(1);

// Відстежуйте входи в систему для кожного користувача
metric('logins')->measurable($user)->record();

Якщо вам потрібно записати кілька метрик, є можливість обробити їх пакетно в пам'яті, а потім комітити.

use DirectoryTree\Metrics\Facades\Metrics;

Metrics::capture();

// Запишіть кілька метрик
metric('signups')->record();
metric('emails_sent')->category('welcome')->record();
metric('signups')->record();

// Комітьте всі зафіксовані метрики одразу
Metrics::commit();

Ще одна зручна функція цього пакету — можливість запитувати метрики за допомогою конструктора запитів із фільтрами дат:

use DirectoryTree\Metrics\Metric;

// Отримайте метрики за сьогодні
$metrics = Metric::today()->get();

// Отримайте метрики за цей тиждень
$metrics = Metric::thisWeek()->get();

// Отримайте кількість реєстрацій за сьогодні
$signups = Metric::today()
    ->where('name', 'signups')
    ->sum('value');

Стів справді створив корисний пакет. Дізнайтеся більше про нього та перегляньте вихідний код на GitHub

Популярні

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!

Logomark Logotype

Перетворення даних у типобезпечні DTO за допомогою пакету Data Model

Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю

Logomark Logotype

Журнал аудиту в Laravel

Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту