getDatabaseName();
$output->writeln("Monitorando banco de dados: {$dbName}");
$output->writeln("===============================================");
// Active processes
$processes = $connection->select('SHOW PROCESSLIST');
$output->writeln("Processos Ativos:");
$processTable = new Table($output);
$processTable->setHeaders(['ID', 'User', 'Host', 'Command', 'Time', 'State', 'Info']);
foreach ($processes as $p) {
$processTable->addRow([
$p->Id,
$p->User,
$p->Host,
$p->Command,
$p->Time,
$p->State,
substr($p->Info ?? '', 0, 50) . (strlen($p->Info ?? '') > 50 ? '...' : '')
]);
}
$processTable->render();
$output->writeln("");
// Database status variables
$status = $connection->select("SHOW STATUS WHERE Variable_name IN ('Threads_connected', 'Threads_running', 'Uptime', 'Questions')");
$output->writeln("Variáveis de Status:");
$statusTable = new Table($output);
$statusTable->setHeaders(['Variável', 'Valor']);
foreach ($status as $s) {
$statusTable->addRow([$s->Variable_name, $s->Value]);
}
$statusTable->render();
return Command::SUCCESS;
}
}