Logs shows backends PID + there's new crashed_backends command to find out PIDs of crashed backends to make log inspection easier
This commit is contained in:
parent
7102c90a4e
commit
c6c322f51f
2 changed files with 21 additions and 12 deletions
|
@ -112,7 +112,7 @@ void AdminInterface::handleMessageReceived(Swift::Message::ref message) {
|
|||
const std::list <NetworkPluginServer::Backend *> &backends = m_server->getBackends();
|
||||
for (std::list <NetworkPluginServer::Backend *>::const_iterator b = backends.begin(); b != backends.end(); b++) {
|
||||
NetworkPluginServer::Backend *backend = *b;
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id);
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + " (ID=" + backend->id + ")";
|
||||
lst += backend->acceptUsers ? "" : " - not-accepting";
|
||||
lst += backend->longRun ? " - long-running" : "";
|
||||
lst += ":\n";
|
||||
|
@ -204,7 +204,7 @@ void AdminInterface::handleMessageReceived(Swift::Message::ref message) {
|
|||
int id = 1;
|
||||
const std::list <NetworkPluginServer::Backend *> &backends = m_server->getBackends();
|
||||
BOOST_FOREACH(NetworkPluginServer::Backend * backend, backends) {
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + ": " + boost::lexical_cast<std::string>(backend->res) + "\n";
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + " (ID=" + backend->id + "): " + boost::lexical_cast<std::string>(backend->res) + "\n";
|
||||
id++;
|
||||
}
|
||||
|
||||
|
@ -215,7 +215,7 @@ void AdminInterface::handleMessageReceived(Swift::Message::ref message) {
|
|||
int id = 1;
|
||||
const std::list <NetworkPluginServer::Backend *> &backends = m_server->getBackends();
|
||||
BOOST_FOREACH(NetworkPluginServer::Backend * backend, backends) {
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + ": " + boost::lexical_cast<std::string>(backend->shared) + "\n";
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + " (ID=" + backend->id + "): " + boost::lexical_cast<std::string>(backend->shared) + "\n";
|
||||
id++;
|
||||
}
|
||||
|
||||
|
@ -226,7 +226,7 @@ void AdminInterface::handleMessageReceived(Swift::Message::ref message) {
|
|||
int id = 1;
|
||||
const std::list <NetworkPluginServer::Backend *> &backends = m_server->getBackends();
|
||||
BOOST_FOREACH(NetworkPluginServer::Backend * backend, backends) {
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + ": " + boost::lexical_cast<std::string>(backend->res - backend->shared) + "\n";
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + " (ID=" + backend->id + "): " + boost::lexical_cast<std::string>(backend->res - backend->shared) + "\n";
|
||||
id++;
|
||||
}
|
||||
|
||||
|
@ -238,10 +238,10 @@ void AdminInterface::handleMessageReceived(Swift::Message::ref message) {
|
|||
const std::list <NetworkPluginServer::Backend *> &backends = m_server->getBackends();
|
||||
BOOST_FOREACH(NetworkPluginServer::Backend * backend, backends) {
|
||||
if (backend->users.size() == 0) {
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + ": 0\n";
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + " (ID=" + backend->id + "): 0\n";
|
||||
}
|
||||
else {
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + ": " + boost::lexical_cast<std::string>((backend->res - backend->init_res) / backend->users.size()) + "\n";
|
||||
lst += "Backend " + boost::lexical_cast<std::string>(id) + " (ID=" + backend->id + "): " + boost::lexical_cast<std::string>((backend->res - backend->init_res) / backend->users.size()) + "\n";
|
||||
}
|
||||
id++;
|
||||
}
|
||||
|
@ -251,6 +251,14 @@ void AdminInterface::handleMessageReceived(Swift::Message::ref message) {
|
|||
else if (message->getBody() == "collect_backend") {
|
||||
m_server->collectBackend();
|
||||
}
|
||||
else if (message->getBody() == "crashed_backends") {
|
||||
std::string lst;
|
||||
const std::vector<std::string> &backends = m_server->getCrashedBackends();
|
||||
BOOST_FOREACH(const std::string &backend, backends) {
|
||||
lst += backend + "\n";
|
||||
}
|
||||
message->setBody(lst);
|
||||
}
|
||||
else if (message->getBody().find("help") == 0) {
|
||||
std::string help;
|
||||
help += "General:\n";
|
||||
|
@ -263,6 +271,7 @@ void AdminInterface::handleMessageReceived(Swift::Message::ref message) {
|
|||
help += " has_online_user <bare_JID> - returns 1 if user is online\n";
|
||||
help += "Backends:\n";
|
||||
help += " backends_count - number of active backends\n";
|
||||
help += " crashed_backends - returns IDs of crashed backends\n";
|
||||
help += "Memory:\n";
|
||||
help += " res_memory - Total RESident memory spectrum2 and its backends use in KB\n";
|
||||
help += " shr_memory - Total SHaRed memory spectrum2 backends share together in KB\n";
|
||||
|
|
|
@ -344,7 +344,7 @@ void NetworkPluginServer::handleNewClientConnection(boost::shared_ptr<Swift::Con
|
|||
}
|
||||
|
||||
void NetworkPluginServer::handleSessionFinished(Backend *c) {
|
||||
LOG4CXX_INFO(logger, "Backend " << c << " disconnected. Current backend count=" << (m_clients.size() - 1));
|
||||
LOG4CXX_INFO(logger, "Backend " << c << " (ID=" << c->id << ") disconnected. Current backend count=" << (m_clients.size() - 1));
|
||||
|
||||
// This backend will do, so we can't reconnect users to it in User::handleDisconnected call
|
||||
c->willDie = true;
|
||||
|
@ -356,7 +356,7 @@ void NetworkPluginServer::handleSessionFinished(Backend *c) {
|
|||
}
|
||||
|
||||
for (std::list<User *>::const_iterator it = c->users.begin(); it != c->users.end(); it++) {
|
||||
LOG4CXX_ERROR(logger, "Backend " << c << " disconnected (probably crashed) with active user " << (*it)->getJID().toString());
|
||||
LOG4CXX_ERROR(logger, "Backend " << c << " (ID=" << c->id << ") disconnected (probably crashed) with active user " << (*it)->getJID().toString());
|
||||
(*it)->setData(NULL);
|
||||
(*it)->handleDisconnected("Internal Server Error, please reconnect.");
|
||||
}
|
||||
|
@ -864,12 +864,12 @@ void NetworkPluginServer::pingTimeout() {
|
|||
sendPing((*it));
|
||||
}
|
||||
else {
|
||||
LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << ". PING response not received.");
|
||||
LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << " (ID=" << (*it)->id << "). PING response not received.");
|
||||
toRemove.push_back(*it);
|
||||
}
|
||||
|
||||
if ((*it)->users.size() == 0) {
|
||||
LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << ". There are no users.");
|
||||
LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << " (ID=" << (*it)->id << "). There are no users.");
|
||||
toRemove.push_back(*it);
|
||||
}
|
||||
}
|
||||
|
@ -898,7 +898,7 @@ void NetworkPluginServer::collectBackend() {
|
|||
if (m_collectTimer) {
|
||||
m_collectTimer->start();
|
||||
}
|
||||
LOG4CXX_INFO(logger, "Backend " << backend << "is set to die");
|
||||
LOG4CXX_INFO(logger, "Backend " << backend << " (ID=" << backend->id << ") is set to die");
|
||||
backend->acceptUsers = false;
|
||||
}
|
||||
}
|
||||
|
@ -1366,7 +1366,7 @@ void NetworkPluginServer::sendPing(Backend *c) {
|
|||
wrap.SerializeToString(&message);
|
||||
|
||||
if (c->connection) {
|
||||
LOG4CXX_INFO(logger, "PING to " << c);
|
||||
LOG4CXX_INFO(logger, "PING to " << c << " (ID=" << c->id << ")");
|
||||
send(c->connection, message);
|
||||
c->pongReceived = false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue