mantas-done/laravel-apm 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mantas-done/laravel-apm

最新稳定版本:v1.0.10

Composer 安装命令:

composer require mantas-done/laravel-apm

包简介

Application monitoring for Laravel

README 文档

README

Monitor requests/cron/queue execution times in production.

If you have a question:

  • which pages have the slowest loading time?
  • which page to optimize to reduce the server load?

Then this package is for you.

Installation

Supported Laravel versions: 8 ... 11+

composer require mantas-done/laravel-apm

Add route to your routes/web.php file (don't forget securing it from unwanted visitors)

Route::get('/apm', '\Done\LaravelAPM\ApmController@index')->name('apm');

Daily clear log files by adding scheduled job to App/Console/Kernel.php

$schedule->command('apm:clear')->daily();

Why?

Laravel APM can show pages that have the biggest impact on the server load. When you are developing the website, it is hard to tell which pages will receive the most pageviews and which will use the most resources: (per page resource usage) x (pageviews) = (this package stats)

Running this package in production has minimal impact on server load.

Technical

This package logs every user request to a file (storage/app/apm/apm-2020-01-01.txt). On average logging adds an overhead of less than 1 ms to each request (0.001 second).

Customizations

Copy /vendor/mantas-done/laravel-apm/config/apm.php file to /config/apm.php Then edit /config/apm.php values to your liking.

return [
    'enabled' => env('APM', true),
    'per_page' => 100, // how many results per page to show
    'sampling' => 1, // logs only part of requests. 1 - 100%, 0.1 - 10% of requests.
    'slow' => 5, // log queries of pages that spent in SQL more than 10 seconds
];

Recommendations

If you are using Closures for scheduler, it is recommended to add ->setName('some-name');, to be able to distinguish different Closures in APM logs.

$schedule->call(function () {
    DB::table('recent_users')->delete();
})->daily()->setName('some-name'); // add ->setName()

统计信息

  • 总下载量: 46.21k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 60
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 60
  • Watchers: 3
  • Forks: 9
  • 开发语言: Blade

其他信息

  • 授权协议: Unknown
  • 更新时间: 2020-01-25