diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-08-09 17:33:52 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-08-09 17:33:52 +0200 |
commit | 378a42f769dde1490ed7bf1a020cbe35390bf986 (patch) | |
tree | f24e749304b1228042c3f87c702a6864b934eb12 /cpp/src/Ice/MetricsAdminI.cpp | |
parent | Fix (diff) | |
download | ice-378a42f769dde1490ed7bf1a020cbe35390bf986.tar.bz2 ice-378a42f769dde1490ed7bf1a020cbe35390bf986.tar.xz ice-378a42f769dde1490ed7bf1a020cbe35390bf986.zip |
More fixes
Diffstat (limited to 'cpp/src/Ice/MetricsAdminI.cpp')
-rw-r--r-- | cpp/src/Ice/MetricsAdminI.cpp | 73 |
1 files changed, 41 insertions, 32 deletions
diff --git a/cpp/src/Ice/MetricsAdminI.cpp b/cpp/src/Ice/MetricsAdminI.cpp index a4b502bebbb..ed7f5aa9049 100644 --- a/cpp/src/Ice/MetricsAdminI.cpp +++ b/cpp/src/Ice/MetricsAdminI.cpp @@ -43,9 +43,12 @@ match(const string& value, const string& expr) } -MetricsMapI::MetricsMapI(const string& groupBy, int retain, const NameValueDict& accept, const NameValueDict& reject) : - _retain(retain), _accept(accept), _reject(reject) +MetricsMapI::MetricsMapI(const std::string& mapPrefix, const Ice::PropertiesPtr& properties) : + _retain(properties->getPropertyAsIntWithDefault(mapPrefix + ".RetainDetached", 10)), + _accept(parseRule(properties, mapPrefix + ".Accept")), + _reject(parseRule(properties, mapPrefix + ".Reject")) { + string groupBy = properties->getPropertyWithDefault(mapPrefix + ".GroupBy", "id"); if(!groupBy.empty()) { string v; @@ -87,8 +90,17 @@ MetricsMapI::MetricsMapI(const string& groupBy, int retain, const NameValueDict& } } +MetricsMapI::MetricsMapI(const MetricsMapI& map) : + _groupByAttributes(map._groupByAttributes), + _groupBySeparators(map._groupBySeparators), + _retain(map._retain), + _accept(map._accept), + _reject(map._reject) +{ +} + MetricsMap -MetricsMapI::getMetrics() +MetricsMapI::getMetrics() const { MetricsMap objects; @@ -153,7 +165,7 @@ MetricsMapI::getMatching(const MetricsHelper& helper) map<string, EntryPtr>::const_iterator p = _objects.find(key); if(p == _objects.end()) { - p = _objects.insert(make_pair(key, newEntry(this, helper.newMetrics(key)))).first; + p = _objects.insert(make_pair(key, newEntry(helper.newMetrics(key)))).first; } return p->second; } @@ -279,7 +291,7 @@ MetricsAdminI::addFactory(const string& mapName, const MetricsMapFactoryPtr& fac _factories[mapName] = factory; // - // Add maps to views configured with the given map name. + // Add maps to views configured with the given map. // const string viewsPrefix = "IceMX.MetricsView."; PropertyDict views = _properties->getPropertiesForPrefix(viewsPrefix); @@ -302,22 +314,18 @@ MetricsAdminI::addFactory(const string& mapName, const MetricsMapFactoryPtr& fac const string mapsPrefix = viewsPrefix + viewName + ".Map."; string mapPrefix = mapsPrefix + mapName; - if(_properties->getPropertiesForPrefix(mapPrefix).empty() && - _properties->getPropertiesForPrefix(mapsPrefix).empty()) - { - mapPrefix = viewsPrefix + viewName; - } - else + if(_properties->getPropertyAsInt(mapPrefix) == 0 || _properties->getPropertiesForPrefix(mapPrefix).empty()) { - continue; // This map isn't configured for this view. + if(_properties->getPropertiesForPrefix(mapsPrefix).empty()) + { + mapPrefix = viewsPrefix + viewName; + } + else + { + continue; // This map isn't configured for this view. + } } - - string groupBy = _properties->getProperty(mapPrefix + ".GroupBy"); - int retain = _properties->getPropertyAsIntWithDefault(mapPrefix + ".RetainDetached", 10); - NameValueDict accept = parseRule(_properties, mapPrefix + ".Accept"); - NameValueDict reject = parseRule(_properties, mapPrefix + ".Reject"); - - view->add(mapName, factory->create(groupBy, retain, accept, reject)); + view->add(mapName, factory->create(mapPrefix, _properties)); } } @@ -386,19 +394,20 @@ MetricsAdminI::addMapToView(const string& view, { UpdaterPtr updater; { - Lock sync(*this); - map<string, MetricsViewIPtr>::const_iterator p = _views.find(view); - if(p == _views.end()) - { - p = _views.insert(make_pair(view, new MetricsViewI(true))).first; - } - p->second->add(mapName, _factories[mapName]->create(groupBy, retain, accept, reject)); - - map<string, UpdaterPtr>::const_iterator q = _updaters.find(mapName); - if(q != _updaters.end()) - { - updater = q->second; - } + // TODO: XXX + // Lock sync(*this); + // map<string, MetricsViewIPtr>::const_iterator p = _views.find(view); + // if(p == _views.end()) + // { + // p = _views.insert(make_pair(view, new MetricsViewI(true))).first; + // } + // p->second->add(mapName, _factories[mapName]->create()); + + // map<string, UpdaterPtr>::const_iterator q = _updaters.find(mapName); + // if(q != _updaters.end()) + // { + // updater = q->second; + // } } if(updater) { |