urodoz / execution-stats
此扩展记录方法执行时间,并供应统计数据。
dev-master
2013-03-04 12:45 UTC
Requires
- php: >=5.3.2
- symfony/framework-bundle: >=2.1.0
This package is not auto-updated.
Last update: 2024-09-22 04:30:31 UTC
README
服务,用于处理Symfony2应用程序中服务和方法的执行时间进度
使用Composer在Symfony上安装
在 composer.json 文件中添加
"require": { "urodoz/execution-stats": "dev-master", }
运行composer update
php composer.phar update
将扩展添加到 AppKernel.php
<?php $bundles = array( new Urodoz\TimeExecutionStatsBundle\UrodozTimeExecutionStatsBundle(); );
您只能将扩展添加到dev和test环境,如下所示
if (in_array($this->getEnvironment(), array('dev', 'test'))) { //Adding bundle to dev and test environments $bundles[] = new Urodoz\TimeExecutionStatsBundle\UrodozTimeExecutionStatsBundle(); }
更新 Doctrine 架构(您可以在执行之前使用 --dump-sql 选项来检查执行的SQL)。跟踪时间数据存储在您数据模型内的日志表中。
php app/console doctrine:schema:update --force
作为Symfony 2服务使用
现在您可以访问时间跟踪服务 urodoz.timeTracker。
跟踪服务的参数
- 名称:跟踪项的名称(唯一)
- 标签:用于分组结果
- 版本:服务的版本。可以是针对所有平台的通用参数。图表将显示不同版本间性能的进展。
跟踪示例
protected function doSomeTask() { //Head of the method if($this->getContainer()->has("urodoz.timeTracker")) { $this->get('urodoz.timeTracker')->start( "user.doSomeTask", "UserBundle", $this->container->getParameter("appVersion")); } ... //code ... if($this->getContainer()->has("urodoz.timeTracker")) { $this->get('urodoz.timeTracker')->stop("user.doSomeTask"); } }
在Symfony 2命令中查看跟踪数据
安装此扩展后,您可以在 app/console 中访问3个新的命令
php app/console urodoz:statsbundle:pack
将数据打包到数据库中
php app/console urodoz:statsbundle:ranking
显示较慢的跟踪方法或服务,可选地按标签分组
php app/console urodoz:statsbundle:show
显示性能改进的数据,从单个服务的最新版本中引用。在这里,您可以查看服务在执行时间上的不同版本进展
在HTML中查看生成的跟踪数据
目前处于开发中
将跟踪数据集成到Jenkins应用程序中
目前处于开发中