赵申托夫 / xhgui-collector
用于收集和存储XHProf结果的库,以便XHGUI后续使用。
1.8.1
2020-06-15 08:18 UTC
Requires
- php: >=5.3.0
- paragonie/random_compat: >=2.0
Suggests
- ext-curl: You need to install the curl extension to upload saved files
- ext-mongo: Mongo is needed to store profiler results for PHP < 7.
- ext-mongodb: Mongo is needed to store profiler results for PHP > 7.
- ext-pdo: You need to install the pdo extension to store profiler results to a relational database
- ext-uprofiler: You need to install either xhprof or uprofiler to use XHGui.
- ext-xhprof: You need to install either xhprof or uprofiler to use XHGui.
- alcaeus/mongo-php-adapter: Mongo PHP Adapter is required for PHP >7 (when using ext-mongodb)
This package is auto-updated.
Last update: 2024-09-15 17:49:17 UTC
README
XHGUI Collector
这是一个小型独立模块,您可以使用它来收集和存储XHProf性能数据,以便在XHGUI中后续使用。
目标
- 兼容PHP >= 5.3.0
- 除了相关扩展外没有其他依赖
- 可定制和可配置,您可以在其之上构建自己的逻辑
- 在保存到数据库之前准备配置文件的可能性。
- 根据此限制,替换配置文件键中的点以与最新MongoDB版本兼容。
XHGUI 兼容性
该项目最初是从 perftools/xhgui@133051f 分支的0.7.1标签之后分叉的。
这应确保与0.7.1(含)之前的所有标签的兼容性。
唯一可能破坏兼容性的更改将是XHGUI端的数据模式更改。
此表表示关于本项目与XHGUI数据模式的已知兼容性信息。
使用方法
分析应用程序或网站
分析应用程序最简单的方法是使用 external/header.php
。 external/header.php
设计为与PHP的 auto_prepend_file 指令结合使用。您可以通过 php.ini
在全局范围内启用 auto_prepend_file
。或者,您也可以通过虚拟主机启用 auto_prepend_file
。
使用Apache,它看起来像这样
<VirtualHost *:80> php_admin_value auto_prepend_file "/Users/markstory/Sites/xhgui/external/header.php" DocumentRoot "/Users/markstory/Sites/awesome-thing/app/webroot/" ServerName site.localhost </VirtualHost>
使用Nginx在fastcgi模式下,您可以这样做
server { listen 80; server_name site.localhost; root /Users/markstory/Sites/awesome-thing/app/webroot/; fastcgi_param PHP_VALUE "auto_prepend_file=/Users/markstory/Sites/xhgui/external/header.php"; }
分析CLI脚本
分析CLI最简单的方法是使用 external/header.php
。 external/header.php
设计为与PHP的 auto_prepend_file 指令结合使用。您可以通过 php.ini
在全局范围内启用 auto_prepend_file
。或者,您也可以在脚本的顶部包含 header.php
。
<?php require '/path/to/xhgui/external/header.php'; // Rest of script.
您还可以在运行PHP时使用 -d
标志
php -d auto_prepend_file=/path/to/xhgui/external/header.php do_work.php
使用环境变量
- 运行
composer require perftools/xhgui-collector
- 将这些行包含到您的引导文件中(例如 index.php)
define('XHGUI_CONFIG_DIR', PATH_TO_OWN_CONFIG);
require_once PATH_TO_YOUR_VENDOR . '/perftools/xhgui-collector/external/header.php';
- 设置环境变量以配置mongodb主机、数据库名称等
系统要求
要使用数据收集类,您需要以下内容
- PHP版本5.3或更高。
- XHProf、Uprofiler或Tideways以实际分析数据。
- 某种方式访问MongoDB服务器。选择以下之一
- MongoDB 扩展>=1.3.0(MongoDB PHP驱动程序来自pecl)
- composor依赖项
alcaeus/mongo-php-adapter
- 一个MongoDB服务器。XHGUI需要2.2.0或更高版本。
如有疑问,请参考XHGUI仓库的composer.json文件或本仓库的composer.json文件的建议
部分。