Module: sems Branch: master Commit: 6b72695a7dd184b3947eef593d4deef42dc61bc0 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=6b72695a7dd184b3947eef593d4deef42dc61bc0
Author: Stefan Sayer <[email protected]> Committer: Stefan Sayer <[email protected]> Date: Tue Oct 25 11:12:36 2011 +0200 dsm:mod_monitoring: add setGlobal and addGlobal actions --- apps/dsm/mods/mod_monitoring/ModMonitoring.cpp | 41 ++++++++++++++++++++++++ apps/dsm/mods/mod_monitoring/ModMonitoring.h | 2 + doc/dsm/mods/Readme.mod_monitoring.txt | 21 ++++++++++-- 3 files changed, 61 insertions(+), 3 deletions(-) diff --git a/apps/dsm/mods/mod_monitoring/ModMonitoring.cpp b/apps/dsm/mods/mod_monitoring/ModMonitoring.cpp index c3bb9ac..23a500c 100644 --- a/apps/dsm/mods/mod_monitoring/ModMonitoring.cpp +++ b/apps/dsm/mods/mod_monitoring/ModMonitoring.cpp @@ -62,9 +62,14 @@ DSMAction* MonitoringModule::getAction(const string& from_str) { } DEF_CMD("monitoring.log", MonLogAction); + DEF_CMD("monitoring.set", MonLogAction); + DEF_CMD("monitoring.add", MonLogAddAction); DEF_CMD("monitoring.logAdd", MonLogAddAction); DEF_CMD("monitoring.logVars", MonLogVarsAction); + DEF_CMD("monitoring.setGlobal", MonLogGlobalAction); + DEF_CMD("monitoring.addGlobal", MonLogAddGlobalAction); + return NULL; } @@ -115,4 +120,40 @@ bool MonLogVarsAction::execute(AmSession* sess, DSMSession* sc_sess, } +CONST_ACTION_2P(MonLogGlobalAction, ',', true); +EXEC_ACTION_START(MonLogGlobalAction) { + string id = resolveVars(par1, sess, sc_sess, event_params); + string prop; + string val; + + size_t c = par2.find(','); + if (c != string::npos) { + prop = resolveVars(par2.substr(0, c), sess, sc_sess, event_params); + val = resolveVars(par2.substr(c+1), sess, sc_sess, event_params); + } else { + prop = resolveVars(par2); + } + + MONITORING_LOG(id.c_str(), prop.c_str(), val.c_str()); + +} EXEC_ACTION_END; + + +CONST_ACTION_2P(MonLogAddGlobalAction, ',', true); +EXEC_ACTION_START(MonLogAddGlobalAction) { + string id = resolveVars(par1, sess, sc_sess, event_params); + string prop; + string val; + + size_t c = par2.find(','); + if (c != string::npos) { + prop = resolveVars(par2.substr(0, c), sess, sc_sess, event_params); + val = resolveVars(par2.substr(c+1), sess, sc_sess, event_params); + } else { + prop = resolveVars(par2); + } + + MONITORING_LOG_ADD(id.c_str(), prop.c_str(), val.c_str()); + +} EXEC_ACTION_END; diff --git a/apps/dsm/mods/mod_monitoring/ModMonitoring.h b/apps/dsm/mods/mod_monitoring/ModMonitoring.h index 06a746f..decde9f 100644 --- a/apps/dsm/mods/mod_monitoring/ModMonitoring.h +++ b/apps/dsm/mods/mod_monitoring/ModMonitoring.h @@ -44,4 +44,6 @@ DEF_ACTION_2P(MonLogAction); DEF_ACTION_2P(MonLogAddAction); DEF_ACTION_1P(MonLogVarsAction); +DEF_ACTION_2P(MonLogGlobalAction); +DEF_ACTION_2P(MonLogAddGlobalAction); #endif diff --git a/doc/dsm/mods/Readme.mod_monitoring.txt b/doc/dsm/mods/Readme.mod_monitoring.txt index 31f30d4..af4e139 100644 --- a/doc/dsm/mods/Readme.mod_monitoring.txt +++ b/doc/dsm/mods/Readme.mod_monitoring.txt @@ -1,6 +1,21 @@ Actions: - monitoring.log(string property, string value) - monitoring.logAdd(string property, string value) - monitoring.logVars() +actions that work on the log entry for the call +----------------------------------------------- + +monitoring.set(string property, string value) - set one property +monitoring.log - alias to monitoring.set(...) + +monitoring.add(string property, string value) - add a value to a property +monitoring.logAdd - alias to monitoring.add(...) + + +monitoring.logVars() adds all variables to log (might be a lot!) + +actions that work on the global log +----------------------------------- + +monitoring.setGlobal(id, name, value) - set one property to table 'id' +monitoring.addGlobal(id, name, value) - add one value to property in + table 'id' _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
