. */ 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; 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); foreach ($event->getStatistics() as $name => $value) $output->writeln(sprintf('%s:%s', $name, $value), OutputInterface::OUTPUT_RAW); } }