result += "\n This operation applies over all the registered realm nodes";
result += "\n except if one specific working node has been set.";
result += "\nforceCountersRecord Forces dump to file the current counters of the process.";
+ result += "\noam-and-stats Dumps current counters and statistics of the process. This is";
+ result += "\n also done at process context dump.";
result += "\n";
result += "\n<visibility action>[|<address>:<port>][|socket id]";
result += "\n";
return;
}
+ // OAM & statistics:
+ if(operation == "oam-and-stats") {
+ anna::xml::Node root("root");
+ response_content = anna::xml::Compiler().apply(oamAndStatsAsXML(&root));
+ return;
+ }
+
///////////////////////////////////////////////////////////////////
// Tokenize operation
Tokenizer params;
it->second->asXML(result);
}
+ // OAM & statistics:
+ oamAndStatsAsXML(result);
+
+ // Testing: could be heavy if test case reports are enabled
+ TestManager::instantiate().asXML(result);
+
+ return result;
+}
+
+anna::xml::Node* Launcher::oamAndStatsAsXML(anna::xml::Node* parent) const
+throw() {
+ anna::xml::Node* result = parent->createChild("OamAndStatistics");
+
// OAM:
anna::diameter::comm::OamModule::instantiate().asXML(result);
anna::diameter::comm::ApplicationMessageOamModule::instantiate().asXML(result);
// Statistics:
anna::statistics::Engine::instantiate().asXML(result);
- // Testing: could be heavy if test case reports are enabled
- TestManager::instantiate().asXML(result);
-
return result;
}
+
void resetCounters() throw();
void signalUSR2() throw(anna::RuntimeException);
std::string help() const throw();
+ anna::xml::Node* oamAndStatsAsXML(anna::xml::Node* parent) const throw();
// helpers
bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) const throw();