bitlogicdev/scout-apm-laravel

此包已被废弃,不再维护。未建议替代包。

Scout应用程序性能监控代理 - https://scoutapm.com

1.5.1 2020-06-14 12:24 UTC

This package is auto-updated.

Last update: 2021-04-29 02:15:43 UTC


README

Build Latest Stable Version Total Downloads License

使用Scout的PHP APM代理监控PHP Laravel应用程序的性能。一旦安装并配置了scout-apm包,就会收集详细性能指标和事务跟踪。

重要:Lumen

要使此工具与Lumen兼容,您需要做一些修改

  • 确保在app.php中注册了$app->register(App\Providers\EventServiceProvider::class);
  • $app->register(\Scoutapm\Laravel\Providers\ScoutApmServiceProvider::class);添加为app.php中最后一个注册的提供者
  • 将以下中间件添加到app.php的全局中间件中
$app->middleware([
    //These should be the first 3 middlewares in the array
    SendRequestToScout::class,
    IgnoredEndpoints::class,
    MiddlewareInstrument::class,

    //Any other middleware here....

    //Finally, this middleware
    ActionInstrument::class
]);

要求

  • PHP版本:PHP 7.1+
  • Laravel版本:5.5+

快速开始

需要Scout账户。 注册Scout

composer require scoutapp/scout-apm-laravel

然后使用Laravel的artisan vendor:publish确保配置可以缓存

php artisan vendor:publish --provider="Scoutapm\Laravel\Providers\ScoutApmServiceProvider"

配置

在您的.env文件中,确保设置了一些配置变量

SCOUT_KEY=ABC0ZABCDEFGHIJKLMNOP
SCOUT_NAME="My Laravel App"
SCOUT_MONITOR=true

您的密钥可以在Scout组织设置页面找到。

文档

有关完整安装和故障排除文档,请访问我们的帮助站点

支持

请通过support@scoutapm.com联系我们或在存储库中创建问题。

功能

Laravel库

  • 将服务\Scoutapm\ScoutApmAgent::class注册到容器中(适用于依赖注入)
  • 提供Facade\Scoutapm\Laravel\Facades\ScoutApm
  • 包装视图引擎以监控视图渲染时间
  • 注入多个中间件以监控控制器并将统计数据发送到Scout Core代理
  • 向数据库连接添加监听器以测量SQL查询

自定义测量

为了执行自定义测量,您可以在代码中调用instrument方法。例如,给定一些要监控的代码

$request = new ServiceRequest();
$request->setApiVersion($version);

使用为Laravel提供的Facade进行包装,并将调用监控。

// At top, with other imports
use Scoutapm\Events\Span\Span;
use Scoutapm\Laravel\Facades\ScoutApm;

// Replacing the above code
$request = ScoutApm::instrument(
    'Custom',
    'Building Service Request',
    static function (Span $span) use ($version) {
        $request = new ServiceRequest();
        $request->setApiVersion($version);
        return $request;
    }
);