像New Relic RPM这样的应用程序性能监控工具是如何工作的?它如何才能弄清楚有关应用程序所有信息呢?如果有人要为PHP应用程序构建类似的东西,那么从哪里开始比较好呢?(我知道PHP的New Relic是可用的,我对如何自己构建一个很感兴趣)。
发布于 2010-11-17 06:03:04
一个不错的开始是看看PHP的反射系统;
http://php.net/manual/en/book.reflection.php
用户可以使用跟踪和分析器转储来收集最重要的信息,请查看xdebug网站以获取更多信息。
http://www.xdebug.org/
发布于 2011-03-12 07:07:44
你可以看看Pinba,它有点类似于New Relic。
发布于 2016-10-26 19:53:17
New Relic使用一个自定义的PHP扩展。你需要安装它,然后它将报告给他们的主应用程序。所有更知名的APM工具都是这样做的: New Relic、Dynatrace/Ruxit、AppDynamics、Tideways、Instana、…
它们的扩展通常会与function executors of the PHP engine挂钩。这允许它们运行任意代码,例如,在运行单个函数时测量执行时间、内存使用等。这些度量被收集,然后通过网络(或一些其他方式)发送到某个处理应用程序。
您可以查看Facebook's xhprof、xdebug或Tideways中有关挂接到函数执行器和分析PHP代码的开源示例。这些分析器还将函数公开到用户区域,以允许用户对自己的代码进行自定义检测,例如,仅对代码的特定部分进行检测等。
https://stackoverflow.com/questions/4190522
复制相似问题