Files
michaelschiemer/src/Framework/CommandBus/Middleware/PerformanceMonitoringMiddleware.php
Michael Schiemer 55a330b223 Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
2025-08-11 20:13:26 +02:00

33 lines
849 B
PHP

<?php
declare(strict_types=1);
namespace App\Framework\CommandBus\Middleware;
use App\Framework\CommandBus\Middleware;
use App\Framework\Performance\Contracts\PerformanceCollectorInterface;
use App\Framework\Performance\PerformanceCategory;
final readonly class PerformanceMonitoringMiddleware implements Middleware
{
public function __construct(
private PerformanceCollectorInterface $collector
) {
}
public function handle(object $command, callable $next): mixed
{
$commandKey = 'command_' . basename(str_replace('\\', '/', $command::class));
$this->collector->startTiming($commandKey, PerformanceCategory::SYSTEM, [
'command_class' => $command::class,
]);
$result = $next($command);
$this->collector->endTiming($commandKey);
return $result;
}
}