public function load(Container $container)
{
$container->register('xdebug.command.profile', function (Container $container) {
return new ProfileCommand($container->get('console.command.handler.runner'), $container->get('xdebug.command.handler.output_dir'));
}, ['console.command' => []]);
$container->register('xdebug.command.trace', function (Container $container) {
return new TraceCommand($container->get('console.command.handler.runner'), $container->get('xdebug.renderer.trace'), $container->get('xdebug.command.handler.output_dir'));
}, ['console.command' => []]);
$container->register('xdebug.command.handler.output_dir', function (Container $container) {
return new OutputDirHandler($container->getParameter('xdebug.output_dir'));
});
$container->register('benchmark.executor.xdebug_profile', function (Container $container) {
return new ProfileExecutor($container->get('benchmark.remote.launcher'));
}, ['benchmark_executor' => ['name' => 'xdebug_profile']]);
$container->register('xdebug.executor.xdebug_trace', function (Container $container) {
return new TraceExecutor($container->get('benchmark.remote.launcher'));
}, ['benchmark_executor' => ['name' => 'xdebug_trace']]);
$container->register('xdebug.renderer.trace', function (Container $container) {
return new TraceRenderer($container->get('phpbench.formatter'));
});
$container->mergeParameter('executors', require_once __DIR__ . '/config/executors.php');
$container->mergeParameter('reports', require_once __DIR__ . '/config/generators.php');
}