Download the PHP package pshentsoff/xhgui-collector without Composer
On this page you can find all versions of the php package pshentsoff/xhgui-collector. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pshentsoff/xhgui-collector
More information about pshentsoff/xhgui-collector
Files in pshentsoff/xhgui-collector
Package xhgui-collector
Short Description Library for collecting and storing XHProf results for later use by XHGUI.
License MIT
Informations about the package xhgui-collector
XHGUI Collector
This is a small standalone module which you can use to collect and store XHProf performance data for later usage in XHGUI.
Goals
- Compatibility with PHP >= 5.3.0
- No dependencies aside from the relevant extensions
- Customizable and configurable so you can build your own logic on top of it
- Possibility to prepare profile before saving to database.
- Replacing dots at profile keys for compatibility with latest MongoDB versions according to this restrictions.
XHGUI Compatibility
This project was originally forked from perftools/xhgui@133051f, which was after the tag 0.7.1.
This should ensure compatibility for most tags up to 0.7.1 (included).
The only change that would break compatibility would be a schema change on the XHGUI side.
This table represents current known information about compatibility between this project and XHGUI data schema.
XHGUI Collector version | XHGUI Version | Compatibility |
---|---|---|
1.0.0 - 1.x | 0.2.0 - 0.9.0 | presumed compatible - no schema changes |
Usage
Profile an Application or Site
The simplest way to profile an application is to use external/header.php
.
external/header.php
is designed to be combined with PHP's
auto_prepend_file directive. You can enable auto_prepend_file
system-wide
through php.ini
. Alternatively, you can enable auto_prepend_file
per virtual
host.
With apache this would look like:
With Nginx in fastcgi mode you could use:
Profile a CLI Script
The simplest way to profile a CLI is to use external/header.php
.
external/header.php
is designed to be combined with PHP's
auto_prepend_file directive. You can enable auto_prepend_file
system-wide
through php.ini
. Alternatively, you can enable include the header.php
at the
top of your script:
You can alternatively use the -d
flag when running php:
Use with environment variables
- run
composer require perftools/xhgui-collector
-
include these lines into your bootstrap file (e.g. index.php)
- set environment variables to configure the mongodb host, database name and more
env | description | example | default |
---|---|---|---|
XHGUI_MONGO_URI |
the host and port to the mongo db | XHGUI_MONGO_URI=mongo:27017 |
127.0.0.1:27017 |
XHGUI_MONGO_DB |
the database name for the profiling data | XHGUI_MONGO_DB=xhprof |
xhprof |
XHGUI_PROFILING_RATIO |
the ratio of profiled requests | XHGUI_PROFILING_RATIO=50 which profiles 50% of all requests |
XHGUI_PROFILING_RATIO=100 |
XHGUI_PROFILING |
if this env var is set with any value the profiling is enabled | XHGUI_PROFILING=enabled |
it is not set per default, so no profiling will be triggered |
System Requirements
For using the data collection classes you will need the following:
- PHP version 5.3 or later.
- XHProf, Uprofiler or Tideways to actually profile the data.
- Some way to access a MongoDB server. Choose either:
- MongoDB Extension>=1.3.0 (MongoDB PHP driver from pecl)
alcaeus/mongo-php-adapter
composer dependency.
- a MongoDB server. XHGUI requires version 2.2.0 or later.
When in doubt, refer to XHGUI repository's composer.json or this
repository's composer.json suggests
section.