Fixes and improvements
[anna.git] / source / diameter.comm / ApplicationMessageOamModule.cpp
index d167d71..91fff6c 100644 (file)
@@ -80,10 +80,10 @@ void anna::diameter::comm::ApplicationMessageOamModule::count (int messageCode,
   setActiveCounterScope(scopeId);
 
   // Build event id: <message code>_<result code>
-  std::string eventId = anna::functions::asString("%d%d", messageCode, resultCode); 
+  std::string eventId = anna::functions::asString("%d_%d", messageCode, resultCode); 
 
   std::map<std::string /* event id */, int /* base offset */>::const_iterator eventMap_it = a_eventMap.find(eventId);
-  int baseOffset = eventMap_it->second;
+  int baseOffset;
      
   if (eventMap_it == a_eventMap.end()) {
     int capacity = anna::oam::CounterScope::MaxCounter / getCounterTypes();
@@ -124,6 +124,9 @@ void anna::diameter::comm::ApplicationMessageOamModule::count (int messageCode,
       registerCounter(baseOffset + offset, counterName, baseOffset + offset);
     //}
   }
+  else {
+    baseOffset = eventMap_it->second;
+  }
 
   // Count
   Module::count(baseOffset + type, amount);