gamernetwork / yolk-profiler
游戏网络公司的PHP性能分析库
v1.0
2015-07-24 13:21 UTC
Requires
- php: >=5.4.0
- gamernetwork/yolk-contracts: 1.*
Requires (Dev)
- phpunit/phpunit: 4.*
- sami/sami: 3.*
This package is not auto-updated.
Last update: 2024-09-24 02:06:34 UTC
README
想要为游戏网络工作吗? 我们正在招聘!
Yolk Profiler
一个简单的性能分析库,用于基准测试代码执行速度、内存使用和数据库查询。
要求
此库需要PHP 5.4或更高版本以及Yolk Contracts包(gamernetwork/yolk-contracts
)。
安装
可以通过Composer以gamer-network/yolk-profiler
的方式安装和自动加载。
或者,下载一个版本或克隆此存储库,并将\yolk\profiler
命名空间添加到自动加载器中。
许可证
Yolk Profiler是开源软件,许可协议为MIT。
快速开始
use yolk\profiler\GenericProfiler; $profiler = new GenericProfiler(); $profiler->start('Op 1'); lengthyOperation1(); $profiler->stop('Op 1'); $profiler->start('Op 2'); lengthyOperation2(); $profiler->stop('Op 2'); // profile a query $profiler->start('Query1'); doDatabaseQuery($sql, $params); $profiler->stop('Query1'); $profiler->query($sql, $params, $profiler->getElapsed('Query1')); // add some additional info $profiler->meta('get', $_GET); $profiler->meta('post', $_POST); $profiler->stop(); // assign a configuration object to the profiler to be included in the report $profiler->config(Config $config); // get a report print_r( $profiler->getData() );
计时器
GenericProfiler
使用GenericTimer
类,该类也可以独立使用来记录以微秒分辨率的时长。
use yolk\profiler\GenericTimer; $t = new GenericTimer(); $t->start(); $t->isRunning(); // returns true $t->getElapsed(); // returns microseconds since last call to start() $t->stop(); $t->isRunning(); // returns false $t->getTotalElapsed(); // returns microseconds between all calls to start()/stop()
调试栏
提供了一个HTML调试栏,可以渲染到网页上,并以美观的方式展示性能分析器的数据。
可以通过在性能分析器上调用getHTML()
方法来获取相关的HTML,然后将其插入到模板中,发送给客户端等。
调试栏的源代码是自包含的,设计用于放置在关闭</body>
标签之前。