summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/MetricsAdminI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-09-06 18:37:10 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-09-06 18:37:10 +0200
commitbe9faf978df7819d37f873b6e3d241ceb35b08ad (patch)
tree7e9b91b05f5b0e2e7fcb4aeb8238bbc7c87db1eb /cpp/src/Ice/MetricsAdminI.cpp
parentPerformance improvments (diff)
downloadice-be9faf978df7819d37f873b6e3d241ceb35b08ad.tar.bz2
ice-be9faf978df7819d37f873b6e3d241ceb35b08ad.tar.xz
ice-be9faf978df7819d37f873b6e3d241ceb35b08ad.zip
Fix
Diffstat (limited to 'cpp/src/Ice/MetricsAdminI.cpp')
-rw-r--r--cpp/src/Ice/MetricsAdminI.cpp195
1 files changed, 0 insertions, 195 deletions
diff --git a/cpp/src/Ice/MetricsAdminI.cpp b/cpp/src/Ice/MetricsAdminI.cpp
index 341c8f852f7..8b6ae36586b 100644
--- a/cpp/src/Ice/MetricsAdminI.cpp
+++ b/cpp/src/Ice/MetricsAdminI.cpp
@@ -71,57 +71,6 @@ MetricsMapI::RegExp::match(const MetricsHelper& helper)
#endif
}
-MetricsMapI::Entry::Entry(MetricsMapI* map, const MetricsPtr& object, const list<Entry*>::iterator& pos) :
- _object(object), _map(map), _detachedPos(pos)
-{
-}
-
-void
-MetricsMapI::Entry::destroy()
-{
- Lock sync(*this);
- _map = 0;
-}
-
-void
-MetricsMapI::Entry::failed(const string& exceptionName)
-{
- Lock sync(*this);
- ++_object->failures;
- ++_failures[exceptionName];
-}
-
-MetricsFailures
-MetricsMapI::Entry::getFailures() const
-{
- MetricsFailures f;
-
- Lock sync(*this);
- f.id = _object->id;
- f.failures = _failures;
- return f;
-}
-
-MetricsPtr
-MetricsMapI::Entry::clone() const
-{
- Lock sync(*this);
- return dynamic_cast<Metrics*>(_object->ice_clone().get());
-}
-
-const string&
-MetricsMapI::Entry::id() const
-{
- return _object->id;
-}
-
-MetricsMapI::Entry*
-MetricsMapI::Entry::getMatching(const string&, const MetricsHelper&)
-{
- return 0;
-}
-
-
MetricsMapI::MetricsMapI(const std::string& mapPrefix, const Ice::PropertiesPtr& properties) :
_properties(properties->getPropertiesForPrefix(mapPrefix)),
_retain(properties->getPropertyAsIntWithDefault(mapPrefix + "RetainDetached", 10)),
@@ -178,150 +127,6 @@ MetricsMapI::MetricsMapI(const MetricsMapI& map) :
_reject(map._reject)
{
}
-
-MetricsMapI::~MetricsMapI()
-{
- for(map<string, EntryPtr>::const_iterator p = _objects.begin(); p != _objects.end(); ++p)
- {
- p->second->destroy();
- }
-}
-
-MetricsMap
-MetricsMapI::getMetrics() const
-{
- MetricsMap objects;
-
- Lock sync(*this);
- for(map<string, EntryPtr>::const_iterator p = _objects.begin(); p != _objects.end(); ++p)
- {
- objects.push_back(p->second->clone());
- }
- return objects;
-}
-
-MetricsFailuresSeq
-MetricsMapI::getFailures()
-{
- MetricsFailuresSeq failures;
-
- Lock sync(*this);
- for(map<string, EntryPtr>::const_iterator p = _objects.begin(); p != _objects.end(); ++p)
- {
- MetricsFailures f = p->second->getFailures();
- if(!f.failures.empty())
- {
- failures.push_back(f);
- }
- }
- return failures;
-}
-
-MetricsFailures
-MetricsMapI::getFailures(const string& id)
-{
- Lock sync(*this);
- map<string, EntryPtr>::const_iterator p = _objects.begin();
- if(p != _objects.end())
- {
- return p->second->getFailures();
- }
- return MetricsFailures();
-}
-
-MetricsMapI::EntryPtr
-MetricsMapI::getMatching(const MetricsHelper& helper)
-{
- for(vector<RegExpPtr>::const_iterator p = _accept.begin(); p != _accept.end(); ++p)
- {
- if(!(*p)->match(helper))
- {
- return 0;
- }
- }
-
- for(vector<RegExpPtr>::const_iterator p = _reject.begin(); p != _reject.end(); ++p)
- {
- if((*p)->match(helper))
- {
- return 0;
- }
- }
-
- string key;
- if(_groupByAttributes.size() == 1)
- {
- key = helper(_groupByAttributes.front());
- }
- else
- {
- ostringstream os;
- vector<string>::const_iterator q = _groupBySeparators.begin();
- for(vector<string>::const_iterator p = _groupByAttributes.begin(); p != _groupByAttributes.end(); ++p)
- {
- os << helper(*p);
- if(q != _groupBySeparators.end())
- {
- os << *q++;
- }
- }
- key = os.str();
- }
-
- Lock sync(*this);
- map<string, EntryPtr>::const_iterator p = _objects.find(key);
- if(p == _objects.end())
- {
- p = _objects.insert(make_pair(key, newEntry(key))).first;
- }
- return p->second;
-}
-
-void
-MetricsMapI::detached(Entry* entry)
-{
- if(_retain == 0)
- {
- return;
- }
-
- Lock sync(*this);
- assert(static_cast<int>(_detachedQueue.size()) <= _retain);
-
- if(entry->_detachedPos != _detachedQueue.end())
- {
- _detachedQueue.splice(_detachedQueue.end(), _detachedQueue, entry->_detachedPos);
- entry->_detachedPos = --_detachedQueue.end();
- return;
- }
-
- if(static_cast<int>(_detachedQueue.size()) == _retain)
- {
- // Remove entries which are no longer detached
- list<Entry*>::iterator p = _detachedQueue.begin();
- while(p != _detachedQueue.end())
- {
- if(!(*p)->isDetached())
- {
- p = _detachedQueue.erase(p);
- }
- else
- {
- ++p;
- }
- }
- }
-
- if(static_cast<int>(_detachedQueue.size()) == _retain)
- {
- // Remove oldest entry if there's still no room
- _objects.erase(_detachedQueue.front()->id());
- _detachedQueue.pop_front();
- }
-
- _detachedQueue.push_back(entry);
- entry->_detachedPos = --_detachedQueue.end();
-}
MetricsViewI::MetricsViewI(const string& name) : _name(name)
{