Wizaplace / elastic-apm-wrapper
Wizaplace Elastic APM Wrapper
0.4.4
2020-07-15 09:24 UTC
Requires
- monolog/monolog: ~1.0 || ~2.0
- wizaplace/elastic-apm-php-agent: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- infection/infection: ^0.15.3
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^0.12.25
- phpstan/phpstan-deprecation-rules: ^0.12.4
- phpstan/phpstan-strict-rules: ^0.12.2
- phpunit/phpunit: ^7
- squizlabs/php_codesniffer: ^3.5
README
Elastic APM Wrapper
PHP Wrapper 用于将日志发送到 Elastic APM
安装
推荐通过 Composer 安装包装器。
运行以下 composer 命令
composer require wizaplace/elastic-apm-wrapper
配置
Elastic APM 的通信由 elastic-apm-php-agent (\PhilKra\Agent) 管理。
为了使用此代理实例化服务,您必须提供一些参数
appName
(例如,'Wizaplace')appVersion
(例如,'1.0.0')environment
(例如,'Development','Production')serverUrl
APM 服务器端点secretToken
您的 Elastic APM 服务器的密钥令牌timeout
Guzzle 客户端超时
使用方法
事务
事务是在服务内测量的最高级别的工作,例如对服务器的请求。主要思想是您一次监测一个事务:您的 PHP 脚本执行。
要开始一个事务,您需要在 AgentService.php 中使用 startTransaction()
方法。它应该在监控的应用程序的末尾停止(使用 stopTransaction()
)。理想情况下,您将在应用程序的每个入口点开始事务,并在每个入口点的末尾停止它。
跨度
跨度可以看作是“子事务”,这意味着它们被用来帮助监视应用程序的部分。
可以开始一个新的跨度,即使已经开始了一个或多个跨度。重要的是要手动停止您启动的所有跨度,否则它们将自动关闭,这意味着您不会真正得到准确的数据。
在一个事务中,可以捕获 0-* 个跨度。
Apm 处理器
该包已包含自定义 Monolog 处理器(ApmHandler.php
),允许您在调用 Monolog 时自动将数据发送到 APM。此配置是可选的。
许可证
此库根据 MIT 许可证条款分发。