phpperftools/collector

用于收集和存储 XHProf/uprofiler/tideway 结果的库,以便 PhpPerfTools/Gui 后续使用。

dev-master 2020-06-17 23:11 UTC

This package is auto-updated.

Last update: 2024-09-18 20:44:03 UTC


README

这是一个小型独立模块,您可以使用它来收集和存储 XHProfUprofilerTideways 性能数据,以便在 GUI 中后续使用。

目标

  • 与 PHP >= 5.3.0 兼容
  • 除了相关扩展外,无其他依赖
  • 可定制和配置,您可以在其基础上构建自己的逻辑

用法

分析应用程序或网站

分析应用程序的最简单方法是使用 external/header.phpexternal/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.phpexternal/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';
  • 设置环境变量以配置分析行为

系统要求

要使用数据收集类,您需要以下内容

  • PHP 版本 5.3 或更高。
  • XHProfUprofilerTideways 以实际分析数据。
  • 某种存储数据的方式。请选择以下任一选项
    • MongoDB 扩展>=1.3.0(来自 pecl 的 MongoDB PHP 驱动程序)和 alcaeus/mongo-php-adapter composer 依赖项,
    • PDO。此包与 SQLite(无原生 json)、MySQL(有和没有原生 json)以及具有原生 json 的 PostgreSQL 进行了测试,
    • 目录中的文件
    • 上传到 GUI 实例

如有疑问,请参阅 PhpPerfTools/GUI 存储库的 composer.json 或此存储库的 composer.json suggests 部分。

原始代码版权所有 2013 Mark Story & Paul Reinheimer 变更版权所有 2019 Grzegorz Drozd

特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,无限制地处理该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按照“现状”提供,不提供任何形式的保证,无论是明示的、暗示的,还是包括但不限于适销性、适用于特定用途和不受专利侵犯的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是基于合同行为、侵权或其他,这些索赔、损害或其他责任源于、产生于或与软件或软件的使用或其他方式有关。