/**
* @param RequestEnded $event
*/
public function onRequestEnd(RequestEnded $event)
{
$request = $event->getRequest();
if (null === ($requestTime = $request->attributes->get('_tolerance_request_time', null))) {
$this->logger !== null && $this->logger->debug('The request do not contain the start time');
return;
}
$requestDurationInSeconds = microtime(true) - (double) $requestTime;
$requestDurationInMilliseconds = $requestDurationInSeconds * 1000;
$namespace = $this->requestMetricNamespaceResolver->resolve($request);
$this->metricPublisher->publish([new Metric($namespace, $requestDurationInMilliseconds, Metric::TYPE_TIMING), new Metric($namespace, null, Metric::TYPE_INCREMENT)]);
}