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

Reply via email to