analytics = new AnalyticsService(new FileQueue(__DIR__.'/analytics-data'), $this->executionContext, $this->config); } public function __invoke(MiddlewareContext $context, callable $next, RequestStateManager $stateManager): MiddlewareContext { $startTime = microtime(true); $request = $context->request; // Track page view /*$this->analytics->trackPageView( $context->request->path, [ 'method' => $request->method->value, 'query_params' => $request->queryParams, 'referer' => $request->headers->get('Referer') ] );*/ $context = $next($context); // Track response performance $responseTime = (microtime(true) - $startTime) * 1000; /*$this->analytics->trackPerformance('response_time', $responseTime, [ 'path' => $request->path, 'method' => $request->method->value, 'status_code' => $context->response->status->value ]);*/ return $context; } }