/** * @param Request $request * @param int $type * @param bool $catch * * @return Response|void */ public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true) { if ($type === HttpKernelInterface::SUB_REQUEST) { if ($request->attributes->get('exception') instanceof \Exception) { $e = $request->attributes->get('exception'); $this->newRelic->noticeError($e->getMessage(), $e); } return $this->app->handle($request, $type, $catch); } foreach ($this->loggerFactory->getTags() as $name => $value) { $this->newRelic->addCustomParameter($name, $value); } $this->newRelic->addCustomParameter('url', $request->getPathInfo()); $this->newRelic->addCustomParameter('content_type', $request->getContentType()); $routeName = $request->attributes->get('_route'); if (null !== $routeName) { $routeName = explode('.', $routeName); $this->newRelic->nameTransaction($routeName[0]); } $response = $this->app->handle($request, $type, $catch); $this->newRelic->addCustomParameter('result_code', $response->getStatusCode()); return $response; }