探针实现原理分析
浏览次数:198      发布于:2023-06-19
下面科电远扬网站小编整理了一下关于本篇文章探针实现原理分析的产品资料,内容来源于网络收集整理,仅供大家参考!下面,小编带大家一起来了解下。希望能帮助到大家。探针实现原理分析
来源:科电远扬国际贸易发布时间:2020-03-03浏览次数:262次



作用
调试 eg: xdebug, zend debug

性能分析 xhprof

链路监控 apm, molten, skywalking-php-sdk

实现方式
总的来讲有两种实现方式

添加代理,对每个函数的执行增加代理,在代理中针对性的增加记录。

在模块注册过程中修改CG(function_table) 或 CG(class_table)。

添加代理的方式

   

       不同场景下对数据的收集详细程度不同,例如调试和性能分析时需要运行相关的所有数据,而在链路监控中只需要针对性的进行处理即可,在molten中即通过设置需要代理的名单来进行针对性的监控。

  综上可以看出通过代理的方式优点是可以很方便的针对用户定义的函数/类进行监控,但是性能损耗也会受到框架及业务逻辑复杂度的影响。

修改Hash表的方式
        在模块注册过程中修改Hash表相比于代理来说性能损耗很小,损耗大小主要取决于探针逻辑及增加的钩子的多少(探针逻辑越复杂,钩子执行的越多性能损耗也就越高)

以下代码为Molten中的实现方式。



    针对内置函数也可以使用修改handler的方式来处理,如下为opcache中覆盖内置文件相关函数的方法,相比上面的直接替换的方式更简单易懂,skywalking-php-sdk中使用的即是这种方式。




科电远扬国际贸易做为一家专业的高端仪器仪表供应商,自身在德国汉诺威设有采购中心,针对进口备品特别是欧美产品有着独到的理解和优势,经过几年的技术及人员累积,目前科电远扬国际贸易可以针对产品提供完善的备件,针对产品系列问题可以提供一条龙服务,大大缩短了客户维修等待的时间,欢迎广大用户前来咨询交流

以上探针实现原理分析就是科电远扬官网小编为大家带来的内容分享,更多精彩内容请收藏科电远扬网址www.coodyak.com,即可在第一时间获得最新相关内容。如果有任何关于探针实现原理分析的疑问,请随时与我们沟通。我们将尽全力解决您的问题。如需从探针实现原理分析厂商代为采购,可以来电咨询!祝大家2023年暴富、暴美。愿2023年我们都能顺风顺水!2023国泰民安,大吉大利!