“BuildBot主机及其UI的探查器”
buildbot-profiler的Python项目详细描述
此插件实现了BuildBot主机的探查器。
- 它松散地使用基于plophttps://github.com/bdarnell/plop 的统计分析
- 适用于prod,因为统计分析的开销非常低
- 配置所有线程,包括主线程和DB线程
- 当线程实际在主循环中时删除噪波采样
- 基于nvd3和d3火焰图的浏览器用户界面
- 显示随时间变化的CPU和内存百分比
- 火焰图可以限制为轨迹的子集
- 单击函数时将显示详细的调用方/被调用方信息
用法
安装:
pip install buildbot_profiler
然后在master.cfg中:
c['www']['plugins']['profiler']=True
或者,您可以在服务模式下安装它,而无需使用ui
c['services']=[util.ProfilerService()]
profilerservice接受以下参数:
ProfilerService(frequency=100,gatherperiod=30*60,mode='virtual',basepath=None,wantBuilds=100)
frequency:分析频率(赫兹)。不是说,如果在分析计时器期间没有活动,则不会记录任何数据。
gatherperiod:探查器在一个文件上工作的时间段。默认情况下,每隔30分钟创建一个新的JSON文件,其中包含最近30分钟的配置文件。请注意,如果没有活动,则收集周期可能更长。
mode:要使用的分析计时器。可以是:
- ^{tt4}$: use ^{tt5}$ timer,
- ^{tt6}$: use ^{tt7}$ timer,
- ^{tt8}$: use ^{tt9}$ timer,
basepath:存储json文件的基本路径。(默认为(master's basedir)/prof_)
wantBuilds:如果这是>;0,则最后n个生成将存储在配置文件数据旁边,用于调试。
屏幕截图
更改日志
- 1.2.2 python3的修复程序
- 1.2.1解决荷载计算问题
- 1.2.0将火焰折叠起来,以便探索更大的痕迹。
- 修复服务,以便在运行之间重置跟踪。
- 1.1.0添加一个服务来使用profiler,而不用profiler ui来打扰用户。
- 1.0.0初始版本