请求级采样
入口类接管请求,采样窗口覆盖业务逻辑,finally 中停止并落库。
入口类在请求开始前判断路径,命中报告页或静态资源就直接接管;业务请求由 xhprof 扩展记录函数级耗时与内存。
Core 只通过五个契约访问框架,十二种接入方式各自提供适配器,采样数据统一写入 Redis,报告页从同一份存储渲染。
浅灰圆底上的一只橙红色小火苗,火尖微倾、分叉,带笑脸与腮红。
火苗一窜,慢函数就现形。报告页、对比、导出与鉴权都在包内完成。
入口类接管请求,采样窗口覆盖业务逻辑,finally 中停止并落库。
按耗时、CPU 或内存渲染火焰图,点函数可下钻查看调用。
勾选恰好两条记录,按时间先后比较改善与回归。
自动列出自身耗时、调用次数、递归与内存集中的可疑函数。
auth_token、HTTP Basic、IP 白名单与可信代理多重限制。
JSON / CSV 导出三种视图,慢请求可 POST 到 webhook。
版本与日期取自 CHANGELOG 与 git 标签。
Mascot::forms() 列出宠物与 12 种表情,报告页同时修复非法 assets_url 与空指标运行。
xhprof:profile 自动注册,Laravel 队列四个事件按消息开停,覆盖没有 HTTP 请求的入口。
新增触发采样、Basic 鉴权、IP 白名单、每分钟预算、慢请求 webhook 与 JSON/CSV 导出。
报告页换成小火苗图标,新增两次运行对比入口与按比例采样。
点击图片放大查看。
先安装,再挂上中间件看第一份报告。
composer require aaron-dev/xhprof-webman// config/middleware.php
use ErikWang2013\Xhprof\Webman\XhprofMiddleware;
return [
'' => [
XhprofMiddleware::class,
],
];
// 产生一次请求后访问 /xhprof 查看报告鼠标停一停,它会换一种心情。