Pinpoint 是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于监控和追踪大规模分布式系统。本文对 Pinpoint 的 PHP 客户端做了一次较深入的原理分析,后续我们将分享更多性能监控和诊断领域的技术文章。
- 正文开始 -
🔍
Pinpoint PHP Agent 利用 PHP/Zend 虚拟机提供的 Hook 机制实现,实现不修改代码就能监控 PHP 应用。该 Agent 使用 C++ 开发,各种插件除了直接写在Agent(使用C++)之外,同时也支持加载某个目录下 PHP 开发的插件,地址如下:
https://github.com/naver/pinpoint-c-agent
编译构建
首先讲一下这个 Agent 怎么使用。Clone 代码到本地后,安装必要的编译依赖,Ubuntu 环境下:
$ sudo apt install automake bison flex g++ git libtool make pkg-config openssl libssl-dev php-dev
$ cd pinpoint-c-agent/pinpoint_php
$ ./Build.sh
$ export LD_LIBRARY_PATH= P W D / . . / t h i r d l i b r a y / v a r / : PWD/../thirdlibray/var/: PWD/../thirdlibray/va