summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/MetricsAdminI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-08-10 21:42:18 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-08-10 21:42:18 +0200
commit7398ad9d8297326326f701aead461ccea9b0068b (patch)
treee0fbd6f7ed247380868d49e7d09a177ee2a3cde1 /cpp/src/Ice/MetricsAdminI.cpp
parentAdded regexp support for Accept/Reject (diff)
downloadice-7398ad9d8297326326f701aead461ccea9b0068b.tar.bz2
ice-7398ad9d8297326326f701aead461ccea9b0068b.tar.xz
ice-7398ad9d8297326326f701aead461ccea9b0068b.zip
Added Metrics::failures count and getMetricsFailures method
Diffstat (limited to 'cpp/src/Ice/MetricsAdminI.cpp')
-rw-r--r--cpp/src/Ice/MetricsAdminI.cpp37
1 files changed, 36 insertions, 1 deletions
diff --git a/cpp/src/Ice/MetricsAdminI.cpp b/cpp/src/Ice/MetricsAdminI.cpp
index 30f59eed52a..c300a169cf3 100644
--- a/cpp/src/Ice/MetricsAdminI.cpp
+++ b/cpp/src/Ice/MetricsAdminI.cpp
@@ -157,6 +157,18 @@ MetricsMapI::getFailures()
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)
{
@@ -275,6 +287,17 @@ MetricsViewI::getFailures(const string& mapName)
return MetricsFailuresSeq();
}
+MetricsFailures
+MetricsViewI::getFailures(const string& mapName, const string& id)
+{
+ map<string, MetricsMapIPtr>::const_iterator p = _maps.find(mapName);
+ if(p != _maps.end())
+ {
+ return p->second->getFailures(id);
+ }
+ return MetricsFailures();
+}
+
MetricsMapI::EntryPtr
MetricsViewI::getMatching(const MetricsHelper& helper) const
{
@@ -398,7 +421,7 @@ MetricsAdminI::getMetricsView(const string& view, const ::Ice::Current&)
}
MetricsFailuresSeq
-MetricsAdminI::getMetricsFailures(const string& view, const string& map, const ::Ice::Current&)
+MetricsAdminI::getMapMetricsFailures(const string& view, const string& map, const ::Ice::Current&)
{
Lock sync(*this);
std::map<string, MetricsViewIPtr>::const_iterator p = _views.find(view);
@@ -408,3 +431,15 @@ MetricsAdminI::getMetricsFailures(const string& view, const string& map, const :
}
return p->second->getFailures(map);
}
+
+MetricsFailures
+MetricsAdminI::getMetricsFailures(const string& view, const string& map, const string& id, const ::Ice::Current&)
+{
+ Lock sync(*this);
+ std::map<string, MetricsViewIPtr>::const_iterator p = _views.find(view);
+ if(p == _views.end())
+ {
+ throw UnknownMetricsView();
+ }
+ return p->second->getFailures(map, id);
+}