交响乐 2 Data_collector.time
Symfony 2 Data_collector.time
我正在尝试通过关联 route/url 获取我在 Symfony 2 中的页面的加载时间,我想将所有这些信息记录在我的数据库或文件中。
为此,我想使用 app_dev.php 调试工具栏,所有这些信息都写在其中,但我无法访问它们!我发现有 "DataCollector" 但没有其他东西可以抓住它......
在 Symfony/src/Symfony/bundle/frameworkBundle/ressources/config/collectors.xml 我找到了
<service id="data_collector.time" class="%data_collector.time.class%" public="false">
<tag name="data_collector" template="@WebProfiler/Collector/time.html.twig" id="time" priority="255" />
<argument type="service" id="kernel" on-invalid="ignore" />
</service>
我可以使用这项服务进行平滑处理吗?
我找到了另一种方法:
$this->container->get('profiler')->get('time');
但我只有开始时间,没有加载时间!
有人可以帮我解决这个问题吗?非常感谢!
您可以用不同的方式解决这个问题。所需信息可以在前端控制器中轻松获取:
<?php
use Symfony\Component\ClassLoader\ApcClassLoader;
use Symfony\Component\HttpFoundation\Request;
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';
$start = microtime(true);
$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
$finish = microtime(true);
$elapsedTime = $finish - $start;
$uri = $request->getUri();
// ... insert the URI and the elapsed time in the database
我正在尝试通过关联 route/url 获取我在 Symfony 2 中的页面的加载时间,我想将所有这些信息记录在我的数据库或文件中。
为此,我想使用 app_dev.php 调试工具栏,所有这些信息都写在其中,但我无法访问它们!我发现有 "DataCollector" 但没有其他东西可以抓住它......
在 Symfony/src/Symfony/bundle/frameworkBundle/ressources/config/collectors.xml 我找到了
<service id="data_collector.time" class="%data_collector.time.class%" public="false">
<tag name="data_collector" template="@WebProfiler/Collector/time.html.twig" id="time" priority="255" />
<argument type="service" id="kernel" on-invalid="ignore" />
</service>
我可以使用这项服务进行平滑处理吗?
我找到了另一种方法:
$this->container->get('profiler')->get('time');
但我只有开始时间,没有加载时间!
有人可以帮我解决这个问题吗?非常感谢!
您可以用不同的方式解决这个问题。所需信息可以在前端控制器中轻松获取:
<?php
use Symfony\Component\ClassLoader\ApcClassLoader;
use Symfony\Component\HttpFoundation\Request;
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';
$start = microtime(true);
$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
$finish = microtime(true);
$elapsedTime = $finish - $start;
$uri = $request->getUri();
// ... insert the URI and the elapsed time in the database