PulseFLow组件 使用文档

这篇文档主要进行组件使用方面的介绍。

一. PHP.INI 文件配置参数

变量名 INI文件配置对应名称 默认值 含义
enabled PulseFlow.enabled false 是否启用插件?
disable_trace_functions PulseFlow.disable_trace_functions 空字符串 禁止跟踪的函数名列表(逗号分割)
disable_trace_class PulseFlow.disable_trace_class 空字符串 禁止跟踪的类名列表(逗号分割)
svipc_name PulseFlow.svipc_name /PulseFlow_sv_ipc System V IPC 所需要的文件路径名
svipc_gj_id PulseFlow.svipc_pj_id 1000 System V IPC 所需要的项目ID
max_package_size PulseFlow.max_package_size 0 组件内部允许的最大消息队列发包大小,超过这个大小进行分包发送
log_dir PulseFlow.log_dir 空字符串 Plugin Log Dir ( 如果此参数不为空,则开启插件日志记录,目前只会记录必要日志信息 )
sampling_rate PulseFlow.sampling_rate 100 采样率,默认是1/100,根据每次请求进行采样隔离

上面所列的参数并不是都需要一一设置,需要对若干参数进行相关解释:

  1. enabled:这个参数负责控制插件的可用开关,除了【 在php.ini文件中进行设置】 之外, 还可以【 通过 pulseflow_enable 和*pulseflow_disable 函数进行设置 】, 还可以【 在url参数中附属get参数 “pulseflowswitch=on” 或 “pulseflowswitch=off”进行选择开关 】。

  2. svipc_name:这个参数不是必须设置的参数,如果不设置就必须保障默认值的文件路径在操作系统中存在,并且php-fpm有权限访问。(这个参数代表文件路径,请保障文件存储在不易卸载的位置,tmp、dev目录不推荐)

  3. svipc_gj_id:这个参数不是必须进行设置的参数,这个参数和 svipc_name 是一对的,都必须保障和 后端程序配置相同

  4. max_package_size:这个参数用来设置消息队列的最大值,当监控数据的消息体大于此值时进入发送流程。因为为了支持更大的消息队列,需要调整内核参数,sysctl -p命令对于不同系别的Linux系统支持力度不同,centos可以不重启加载内核参数,对于其他系统,如果出现了sysctl -p 命令无法修改成功内核队列单条信息大小情况时,可以设置这个参数来达到在当前内核环境下发送信息。(这个参数非常重要,请结合内核进行理解
    max_package_size参数所牵连的内核消息队列的坑,可以参考文章:https://blog.icorer.com/index.php/archives/334/

二. 组件函数介绍

PulseFlow组件对PHP脚本提供了若干个函数,分别包括:
对于扩展函数的使用,一定要先判断函数是否存在后再进行调用。

函数名 函数介绍 函数使用样例 附属介绍
pulseflow_enable 启用插件 pulseflow_enable() 插件默认是关闭状态,可以通过INI文件配置PulseFlow.enabled参数进行开启,也可以在PHP代码中使用这个函数进行开启
pulseflow_disable 关闭插件 pulseflow_disable() 可以在PHP代码中通过这个函数进行插件功能的禁用
pulseflow_set_options 设置插件附属选项 pulseflow_set_options([‘services’=>’API2017’]); 可以在PHP代码中通过这个函数进行附属信息的设置
pulseflow_output_trace_list 输出跟踪信息到页面 pulseflow_output_trace_list(); 这个参数 只会在URL参数 pulseflow_switch值为on的情况下起效果

pulseflow_set_options 这个函数很重要,通过PHP脚本使用这个函数,插件会把函数中的数组进行序列化传到后台程序和下游服务中,这样可以实现动态化参数。(JAVA 天眼下游服务必需service参数,可以通过传入数组进行动态添加)

二. 组件 URL 参数介绍

PulseFlow组件除了提供 php.ini 参数、组件函数之外,还提供了URL Get参数配置。

GET参数名 参数介绍 参数使用样例 附属介绍
pulseflow_switch=on 强制启用插件 http://127.0.0.1/debug.php?pulseflow_switch=on 通过这个参数可以强制开启插件跟踪功能
pulseflow_switch=off 强制关闭插件 http://127.0.0.1/debug.php?pulseflow_switch=off 通过这个参数可以强制关闭插件跟踪功能
pulseflow_web_display_switch=on 输出性能跟踪信息到网页 http://127.0.0.1/debug.php?pulseflow_switch=on&pulseflow_web_display_switch=on 这个参数 只会在 pulseflow_switch参数为on的情况下起效果
文档更新时间: 2018-09-11 14:13   作者:李彪