xhprof-collectorXHProf 收集器

联合创作 · 2023-10-01 09:20

xhprof-collector

Single XHProf collector use XHProf API.

Notice that this is a collector only, so you have to get a gui to show collected data such as xhgui.

Tested php version

  • 5.6.36

  • 7.0.30

Notice:If you are running php under Kubernetes, you have to use tideways_xhprof extension which only support php >= 7.0 to avoid XHProf crash in hp_execute_internal.

Require

XHProf extension(either)

mongo extension(either)

Symfony Integration Example

Include(either)

  • Composer(recommend)

{
  "require" : {
    "zoa-chou/xhprof-collector": "*",
  }
}
  • Single file

  1. Copy xhprof-collector/src/collector.php to your path

  2. Require collector to your project at first line, such as:

<?php
require_once '/path/to/your/collector.php';
  • Nginx configure

  1. Copy xhprof-collector/src/collector.php to your path

  2. Add fastcgi_param to your nginx config inside server block, such as:

location ~ .*\.php?$ {
    fastcgi_param PHP_VALUE "auto_prepend_file=/path/to/your/collector.php";
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    include fcgi.conf;
}

Notice:Once you visited the host which server configure collector, nginx will always send fastcgi_param to php-fpm even if you visit other not configure server.

  • Append php.ini

  1. Copy xhprof-collector/src/collector.php to your path

  2. Add auto_prepend_file to your php.ini, such as:

auto_prepend_file=/path/to/your/collector.php

Configure environment variables

  • XHGUI_ENABLE_PROB &mdash;&mdash; The probability of start collector while request.Valid value is between 0(off) and 100(all on), default is 0.

  • XHGUI_MONGO_URI &mdash;&mdash; mongodb uri, such as:mongodb://username:password@ip:host,ip2:host2/dbname?connectTimeoutMS=200

  • XHGUI_ENABLE_CLI &mdash;&mdash; Enable collector while php running as cli model.Valid values is 0(off) and 1(on), default is 0.

  • XHGUI_SINGLE_CONTROL &mdash;&mdash; Enable use http header XHGUI-ENABLE-PROB (just like XHGUI_ENABLE_PROB, such as: 'XHGUI-ENABLE-PROB: 100') to control the probability of start collector which will cover XHGUI_ENABLE_PROB. Valid values is 0(off) and 1(on), default is 0.

浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报