badoo/liveprof-ui

Live Profiler 的聚合器和网页界面

1.2.19 2021-06-01 18:42 UTC

README

logo

Live profiler 是 Badoo 使用的一个基于 XHProf 或其分支(UprofilerTideways)的系统级性能监控系统。Live Profiler 通过在 XHProf 下运行页面请求的样本,持续地从生产层收集函数级分析器数据。

Live profiler UI 通过各种维度(如时间、内存使用)聚合与单个请求对应的分析数据,可以帮助回答各种问题,例如:特定页面的函数级分析是什么?函数 "foo" 在所有页面或特定页面上的开销是多少?过去一天/一周/一个月中哪些函数退步最大?页面/函数的执行时间历史趋势是什么?等等。

您可以在 Live Profiler UI wiki 中找到完整文档。

这里有 一个插件,可以用于 PhpStorm 中直接查看方法性能。

Build Status GitHub release codecov Scrutinizer Code Quality GitHub license

系统要求

  • PHP 版本 7.3 或更高版本,用于使用网页界面和运行聚合脚本。
  • PHP 版本 5.4 或更高版本 / hhvm 版本 3.25.0 或更高版本,用于使用 Live Profiler 收集分析数据。
  • 连接到具有分析结果的数据库。您可以使用 Live Profiler 工具收集分析数据。
  • 数据库扩展(包含 mysqli、pgsql、sqlite 支持)
  • Perl 用于火焰图功能

关键功能

  • 获取平均值、最小值、最大值、95 分位数的执行时间、CPU 时间、内存使用和调用计数。参数列表和统计函数可配置。
  • 每个收集到的参数和每个方法(最多 6 个月)的图表。每个图表还包含子统计信息。这有助于查看历史变更。
  • 差异界面,比较两个日期(例如,今天和一周前)的特定请求,并查看什么变差了。
  • 查看聚合请求的 火焰图
  • 获取最后一次调用方法的所有请求列表。这可能有助于重构和查找未使用的方法。
  • 获取两个日期(例如,今天和一周前)任何请求中最常更改的方法。这有助于找到潜在性能问题的位置。

安装指南

工作流程

Live Profiler 有 3 个主要部分

  1. 分析器
  2. 聚合器
  3. 网页界面

性能调查指南

定制

故障排除

许可

本项目采用 MIT 开源许可证。