chaseconey / laravel-datadog-helper
Laravel Datadog Helper 包。
1.2.1
2020-08-15 00:45 UTC
Requires
- php: >=5.4.0
- datadog/php-datadogstatsd: ^1.4.0
- illuminate/support: >=5.1
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
README
Laravel Datadog Helper 帮助您尽快将应用程序指标集成到 Laravel 中。
要求
- Laravel >= 5
- Datadog API 密钥
功能
- 添加了对官方 DataDog/php-datadogstatsd 库的包装的 Datadog 门面
- 提供自动跟踪响应时间指标的中间件
- 允许使用公共前缀为整个应用程序发送的所有指标添加前缀
安装
使用 composer 需要此包。
composer require chaseconey/laravel-datadog-helper
Laravel 5.5 使用包自动发现,因此不需要您手动添加 ServiceProvider。
如果您想安装请求指标跟踪中间件,请按如下方式添加 Datadog 中间件类
// app/Http/Kernel.php protected $middleware = [ ... \ChaseConey\LaravelDatadogHelper\Middleware\LaravelDatadogMiddleware::class ];
无自动发现(或 Laravel < 5.5)
如果您不使用自动发现,或者您正在使用较旧的 Laravel 版本,请将 ServiceProvider 添加到 config/app.php
中的 providers 数组中
// config/app.php 'providers' => [ ... ChaseConey\LaravelDatadogHelper\LaravelDatadogHelperServiceProvider::class, ];
如果您想使用门面,请将以下内容添加到您的 facades 中 config/app.php
// config/app.php 'aliases' => [ ... 'Datadog' => ChaseConey\LaravelDatadogHelper\Datadog::class ];
对于配置选项,使用发布命令将包配置复制到您的本地配置中
php artisan vendor:publish --provider="ChaseConey\LaravelDatadogHelper\LaravelDatadogHelperServiceProvider"
中间件
此包包含一个方便的中间件,您可以将它添加到任何 Laravel 项目中,以最快速度在 Datadog 中运行。
- 指标名称:
request_time
- 值: Laravel 响应请求所需的时间
- 标签:
status_code
url
(通过datadog.middleware_disable_url_tag
配置选项切换)- 添加到
datadog.global_tags
中的任何自定义标签
仅使用这些指标,以下是一些可以创建的示例图表
Datadog 图形配置 JSON
按 URL 的最大请求时间
{ "viz": "heatmap", "requests": [ { "q": "max:app.example.request_time.max{*} by {url}", "type": null, "style": { "palette": "dog_classic", "type": "solid", "width": "normal" }, "aggregator": "avg", "conditional_formats": [] } ], "autoscale": true }
最受欢迎的页面
{ "viz": "toplist", "requests": [ { "q": "top(sum:app.example.request_time.count{*} by {url}.as_count(), 10, 'sum', 'desc')", "type": null, "style": { "palette": "warm", "type": "solid", "width": "normal" }, "conditional_formats": [] } ] }
最慢的端点/页面
{ "viz": "toplist", "requests": [ { "q": "top(max:app.example.request_time.max{*} by {url}, 10, 'max', 'desc')", "type": null, "style": { "palette": "dog_classic", "type": "solid", "width": "normal" }, "conditional_formats": [ { "palette": "white_on_red", "value": 5, "comparator": ">" }, { "palette": "white_on_green", "value": 5, "comparator": "<=" } ] } ] }
示例
此库包装了官方的 DataDog/php-datadogstatsd 库。所有功能都继承自由该库提供的核心实现,除了将 Datadogstatsd
替换为 Datadog
(门面)之外。
例如
您将使用 Datadog::increment('my.sweet.metrics')
而不是 Datadogstatsd::increment('my.sweet.metrics')
。
有关完整的使用示例,请查看库的 usage README。
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 和 CONDUCT 以获取详细信息。
鸣谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。