heyday/silverstripe-xhprof

此软件包最新版本(0.0.1)的许可信息不可用。

此软件包的官方仓库似乎已不存在,因此已将其冻结。

安装: 117

依赖: 0

建议者: 0

安全: 0

星标: 7

观察者: 25

分支: 3

开放问题: 4

类型:silverstripe-module

0.0.1 2012-11-25 20:15 UTC

This package is auto-updated.

Last update: 2024-04-29 02:50:58 UTC


README

#Heyday xhprof

本模块提供了一个针对 SilverStripe 的 pecl 包 xhprof 以及 xhprof gui 的封装。

对于与 SilverStripe 2.4 兼容的版本,请查看 1.0 分支。

##许可证

本项目采用 MIT 许可协议,可在 silverstripe-xhprof/LICENSE 找到。

##要求

要使用 silverstripe-xhprof,您需要在 php 中安装 xhprof。要创建通过 xhprof gui 的调用图,您还需要 Graphviz

##安装

要将 silverstripe-xhprof 目录放入您的 SilverStripe 根目录中,然后运行 /dev/build?flush=1

##使用方法

您可以使用两种方式使用 silverstripe-xhprof。作为全局分析器或作为特定代码段的分析器。请注意,您不能在同一请求中进行全局分析和局部分析。

###全局分析

####使用 Sake

启用

./sake xhprof/enable

禁用

./sake xhprof/disable

####不使用 sake(您需要拥有管理员权限)

启用

https:///xhprof/enable

禁用

https:///xhprof/disable

启用全局分析时,将编辑您的 .htaccess 文件,并在开头添加两行代码,但 silverstripe-xhprof 会备份您的 .htaccess 文件,该文件可在 silverstripe-xhprof/code/GlobalProfile/backup/ 中找到。

当您禁用全局分析时,您的 .htaccess 文件将从备份中恢复。

###局部分析

要分析特定的代码段,您需要首先确保全局分析已禁用,然后设置必要的 HeydayXhprof::start()HeydayXhprof::end() 调用。

<?php
HeydayXhprof::start('Potentially Troublesome Code');

//Code to profile

HeydayXhprof::end();

##查看已保存的分析

对于每个创建的分析,都会创建一个相应的数据库记录(HeydayXhprofRun)。这些数据库记录存储有关执行分析请求的信息(url、查询字符串等),以及分析标识符。

要查看已保存的分析,请转到

https:///admin/xhprof/

所有全局分析都保存在 GlobalApp 名称下。

##配置

在分析时,有几个配置选项可用。全局配置选项可以在位于以下位置的 php 文件中设置:

./mysite/_config_xhprof.php

当启用全局分析时,如果存在此文件,则在其包含任何 SilverStripe 代码之前包含此文件。

###按概率限制全局分析

要限制要分析请求,您可以使用概率。这在负载下在实时服务器上分析时很有用。

<?php
HeydayXhprof::setProbability(2/3);

此示例将创建分析的几率设为 2/3

<?php
HeydayXhprof::setProbability(1/1000);

此示例将创建分析的几率设为 1/1000

###按概率限制局部分析

<?php
if (HeydayXhprof::testProbability(1/100)) {

	HeydayXhprof::start('Potentially Troublesome Code');

}

//Code to profile

if (HeydayXhprof::isStarted()) {

	HeydayXhprof::end();

}

###通过部分匹配(特别是 strpos)排除 URL

要排除某些 URL

<?php
HeydayXhprof::addExclusions(array(
	'/admin/xhprof/',
	'/Security/ping'
));

##单元测试

如果您已安装 phpunit,则可以运行 silverstripe-xhprof 的单元测试,以查看一切是否正常工作。

###运行单元测试

从命令行

./sake dev/tests/module/silverstripe-xhprof

从您的浏览器

https:///dev/tests/module/silverstripe-xhprof

## 贡献

### 代码规范

本项目遵循以下标准