urodoz/execution-stats

此扩展记录方法执行时间,并供应统计数据。

安装: 12

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master 2013-03-04 12:45 UTC

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应用程序中

目前处于开发中