zoilomora/ elastic-apm-agent-php
PHP 的 Elastic APM 代理
1.0.0
2020-12-16 13:16 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 代理 为 PHP。
我已经搜索了非官方选项,但未找到任何具有 PHP 版本(>= 5.4)向后兼容性的选项。我知道 PHP 5.4 非常旧(2012 年 3 月 1 日),但今天仍然有代码在旧版本上工作。
我想让它尽可能容易地开发新服务,同时也让帮助旧代码重构变得更容易。
我已经基于官方 API 参考版本 7.8.1 进行开发。
安装
-
通过 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 获取更多信息