. */ namespace vierbergenlars\AuthserverStatsBundle\Command; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use vierbergenlars\AuthserverStatsBundle\Event\StatsEvent; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Helper\Table; class DumpStatsCommand extends Command { protected function configure() { $this->setName('stats:dump')->addOption('module', 'm', InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Modules to fetch statistics for'); } protected function execute(InputInterface $input, OutputInterface $output) { $eventDispatcher = $this->getApplication() ->getKernel() ->getContainer() ->get('event_dispatcher'); /* @var $eventDispatcher Symfony\Component\EventDispatcher\EventDispatcher */ $event = new StatsEvent($input->getOption('module')); $eventDispatcher->dispatch(StatsEvent::class, $event); $table = new Table($output); $table->setHeaders([ 'Statistic', 'Value' ]); foreach ($event->getStatistics() as $name => $value) { $table->addRow([ $name, $value ]); } $table->render(); } }