cristiansitov/xhprof-bundle

该包最新版本(dev-master)没有可用的许可信息。

由Jonas Wouters创建的Symfony JnsXhprofBundle;由Cristian Sitov进行适配

安装: 78

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 49

开放问题: 0

类型:symfony-bundle

dev-master 2013-03-21 17:51 UTC

This package is not auto-updated.

Last update: 2024-09-22 04:33:47 UTC


README

什么是XHProf?

XHProf是PHP的分层分析器。它报告函数级别的调用次数和包含与排除指标,如墙(耗时)时间、CPU时间和内存使用情况。函数的配置可以按调用者或被调用者分解。原始数据收集组件是用C语言实现的PHP Zend扩展,称为xhprof。XHProf有一个简单的基于HTML的用户界面(用PHP编写)。基于浏览器的UI用于查看分析结果,使其易于查看结果或与同行分享结果。还支持调用图视图。

官方文档

此Symfony 2 Bundle做什么?

此bundle帮助您轻松地在Symfony 2中使用XHProf bundle和Web调试工具栏。

安装

确保您已安装XHProf。如果您使用Mac,可以通过Macports轻松安装它:sudo port install php5-xhprof

获取bundle

要安装bundle,将其放置在项目中的src/Jns/Bundle目录(因此它位于src/Jns/Bundle/XhprofBundle)。您可以通过将bundle作为子模块添加、克隆它或简单地下载源代码来完成此操作。

git submodule add https://github.com/jonaswouters/XhprofBundle.git src/Jns/Bundle/XhprofBundle

将Jns命名空间添加到自动加载器

如果这是您Symfony 2项目中的第一个Jns bundle,则需要将Jns命名空间添加到自动加载器。此文件通常位于app/autoload.php

$loader->registerNamespaces(array(
    'Jns'                       => __DIR__.'/../src'
    // ...
));

初始化bundle

要初始化bundle,您需要将其添加到您的kernel。此文件通常位于app/AppKernel.php。建议仅在开发环境中加载它。

public function registerBundles()
{
    // ...

    if (in_array($this->getEnvironment(), array('dev', 'test'))) {
        // ...
        $bundles[] = new Jns\Bundle\XhprofBundle\JnsXhprofBundle();
    }
)

配置XHProf位置。

该Bundle默认配置为macports php5-xhprof默认安装,其中xhprof Web位于http://xhprof.localhost。要更改这些设置以适应您的环境,您可以在配置中定义以下设置,通常位于app/config/config.yml

jns_xhprof:
    location_lib:    /opt/local/www/php5-xhprof/xhprof_lib/utils/xhprof_lib.php
    location_runs:   /opt/local/www/php5-xhprof/xhprof_lib/utils/xhprof_runs.php
    location_config: /opt/local/www/php5-xhprof/xhprof_lib/config.php
    location_web:    http://xhprof.localhost
    enabled:         true

使用XHGui

XHGui是XHProf PHP扩展的GUI,使用数据库后端和精美的图形,使其易于使用和解释。XHProf bundle支持使用XHGui显示结果。要使用,安装XHGui,并在配置中添加以下两个设置,通常位于app/config/config.yml

jns_xhprof:
    entity_manager:  <name_of_entity_manager> (defaults to default)
    enable_xhgui:    true

如果您已定义了一个实体管理器,则无需在此处设置。此设置用于您使用单独的XHGui分析数据库的情况(强烈推荐)。

指定样本大小

您可以指定用于分析的样本大小。对于请求量大的生产环境,强烈建议指定样本大小。样本大小设置为分析的概率,例如,如果您将样本大小设置为2,则平均每两个请求就会进行分析。当然,在生产环境中,您想将其设置得更高。默认值为1,因此每个请求都会进行分析。

jns_xhprof:
    sample_size: 2