guangzhonghedd01/xhgui-collector

用于收集和存储XHProf结果,以便XHGUI后续使用。

2.1.2 2019-01-25 08:44 UTC

This package is auto-updated.

Last update: 2024-09-25 21:22:32 UTC


README

xhgui-collector分叉而来

改造后支持psr-4,框架可以一键对日志进行采集。

数据采集存储于mongodb,其他存储方式暂时未做测试。

展示可以使用:

使用指南

  • composer require guangzhonghedd01/xhgui-collector
  • 环境配置信息
XHGUI_MONGO_URI=127.0.0.1:27017
XHGUI_MONGO_DB=xhprof
XHGUI_PROFILING_RATIO=100
XHGUI_EXECUTE_SECOND=1
XHGUI_PROFILING=enabled
XHGUI_FILTER_VAR=XHGUI_FILTER_VAR
APP_NAME=test

Laravel

  • 将Xhgui/config/laravel.php 拷贝到laravel项目config文件夹下,更名为xhgui.php
  • 在需要采集的路由上增加中间件
class Xhprof extends Middleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure                 $next
     *
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        xhgui_laravel();

        return $next($request);
    }
}

Thinkphp

  • 将Xhgui/config/laravel.php 拷贝到项目application/extra/文件夹下,更名为xhgui.php(extend文件夹可能不存在)
  • 在/www/web/ydapi-dadi01-com/extend/hook目录下新增Xhgui.php,
<?php
namespace hook;

class Xhgui
{
    public function run(&$params)
    {
        \Guangzhong\Xhgui\xhgui_thinkphp();
    }
}
  • 在application/tags.php 增加行为注入
<?php

// 应用行为扩展定义文件
return [
    // 应用初始化
    'app_init'     => [

    ],
    // 应用开始
    'app_begin'    => [],
    // 模块初始化
    'module_init'  => ['hook\\Xhgui'],
    // 操作开始执行
    'action_begin' => [''],
    // 视图内容过滤
    'view_filter'  => [''],
    // 日志写入
    'log_write'    => [],
    // 应用结束
    'app_end'      => [],
];

扩展支持

  • php >= 7.0.0
  • mongodb >= 1.5.0
  • tideways 4.1.6 (官方最新版本为5.0,暂不支持)

tideways

tideways