cyberclick-os / elastic-apm-agent-php
PHP 的 Elastic APM 代理
1.1.1
2023-02-01 12:19 UTC
Requires
- php: >=5.4
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-zlib: *
- paragonie/random_compat: >=2.0
Requires (Dev)
- phpunit/phpunit: ^4.8
- squizlabs/php_codesniffer: ^3.5
README
PHP 的 Elastic APM 代理
这是一个用 PHP 编写的代理,实现了将跟踪信息发送到 Intake API v2 方案的 Elastic APM。
为什么?
我没有找到官方的 APM 代理 for PHP。
我已经搜索了非官方选项,但没有找到任何支持 PHP 版本 (>= 5.4) 向后的兼容性。我知道 PHP 5.4 已经非常老了(2012 年 3 月 1 日),但今天仍然有代码在旧版本上运行。
我希望尽可能简化开发新服务的过程,并使遗留代码重构更容易完成。
我基于官方的 版本 7.8.1 的 API 参考。
安装
-
通过 composer 安装
composer require zoilomora/elastic-apm-agent-php
用法
您可以实现任何 Reporter 来适应您的通信基础设施(同步、异步、redis、amqp 等)。
<?php class OwnerReporter implements \ZoiloMora\ElasticAPM\Reporter\Reporter { /** * @param array $events * * @return void */ public function report(array $events) { // TODO: Implement report() method. } }
如果您使用 Kubernetes,建议您使用 官方环境变量 来映射 节点 和 Pod。
示例
使用此代理的包的示例
自定义报告
事务包装器
- PcComponentes/apm-symfony-console
- PcComponentes/apm-symfony-http-kernel
- PcComponentes/apm-symfony-messenger
HTTP 客户端
数据库
其他
开发中使用的文档
致谢
- Zoilo Mora
- Verónica Expósito(Logo)
- 所有贡献者
许可
在 MIT 许可 下许可
阅读 LICENSE 获取更多信息