ensi / laravel-metrics
laravel metrics
1.0.15
2024-06-26 09:18 UTC
Requires
- php: ^8.1
- ensi/laravel-prometheus: ^1.0.10
- guzzlehttp/guzzle: ^7.0
- psr/http-message: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2
- nunomaduro/collision: ^6.0 || ^7.0 || ^8.1
- orchestra/testbench: ^7.0 || ^8.0 || ^9.0
- pestphp/pest: ^1.22 || ^2.0
- pestphp/pest-plugin-laravel: ^1.1 || ^2.0
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.11
- spaze/phpstan-disallowed-calls: ^2.15
This package is auto-updated.
Last update: 2024-08-27 08:54:37 UTC
README
该包为 Laravel Web 应用程序添加了通用指标。它是 ensi/laravel-prometheus 的补充。
安装
您可以通过 composer 安装此包。
composer require ensi/laravel-metrics
使用以下命令发布配置
php artisan vendor:publish --provider="Ensi\LaravelMetrics\MetricsServiceProvider"
基本用法
添加 Http 中间件
# app/Http/Kernel.php protected $middleware = [ // ... other middlewares \Ensi\LaravelMetrics\HttpMiddleware\HttpMetricsMiddleware::class, ];
将 Guzzle 中间件添加到您的 http 客户端
$handlerStack = HandlerStack::create(); $handlerStack->push(GuzzleMiddleware::middleware()); $client = new Client(['handler' => $handlerStack]); $response1 = $client->get('http://httpbin.org/get');
配置
配置文件的结构
return [ 'ignore_commands' => [ 'kafka:consume', ], 'ignore_routes' => [ 'prometheus.*' ], 'http_requests_stats_groups' => [ '<stats-group-name>' => [ 'type' => 'summary', 'route_names' => ['catalog.*', 'profile.favorites'], 'time_window' => 30, 'quantiles' => [0.95, 0.99], ], '<stats-group-name>' => [ 'type' => 'histogram', 'route_names' => ['*'], 'buckets' => [0.01, 0.05, 0.1, 0.5, 1, 2, 4], ], ] ];
ignore_routes - 不需要跟踪 HTTP 请求处理时间的路由名称列表。
ignore_commands - 不需要跟踪指标的任务名称列表。
http_requests_stats_groups - 图形和百分位的列表。每个统计组都有一个跟踪的路由名称列表。
因此,您可以计算特定端点组的统计信息,而不是整个应用的统计信息。
指标
指标的名称不带命名空间。
贡献
有关详细信息,请参阅 CONTRIBUTING。
测试
- composer install
- composer test
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。