]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
use nonblocking statistics
authorRazvan Becheriu <razvan@isc.org>
Sat, 19 Oct 2019 07:22:44 +0000 (10:22 +0300)
committerRazvan Becheriu <razvan@isc.org>
Wed, 6 Nov 2019 17:32:51 +0000 (19:32 +0200)
src/lib/stats/stats_mgr.cc

index 7335e2876948d0ab9a148af7bc2920bb5112ac83..052fe368a027fc0fb0e48a65b76fb56547c50c78 100644 (file)
@@ -33,6 +33,7 @@ StatsMgr::StatsMgr() :
 }
 
 void StatsMgr::setValue(const std::string& name, const int64_t value, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -42,6 +43,7 @@ void StatsMgr::setValue(const std::string& name, const int64_t value, bool lock)
 }
 
 void StatsMgr::setValue(const std::string& name, const double value, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -51,6 +53,7 @@ void StatsMgr::setValue(const std::string& name, const double value, bool lock)
 }
 
 void StatsMgr::setValue(const std::string& name, const StatsDuration& value, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -60,6 +63,7 @@ void StatsMgr::setValue(const std::string& name, const StatsDuration& value, boo
 }
 
 void StatsMgr::setValue(const std::string& name, const std::string& value, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -69,6 +73,7 @@ void StatsMgr::setValue(const std::string& name, const std::string& value, bool
 }
 
 void StatsMgr::addValue(const std::string& name, const int64_t value, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -78,6 +83,7 @@ void StatsMgr::addValue(const std::string& name, const int64_t value, bool lock)
 }
 
 void StatsMgr::addValue(const std::string& name, const double value, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -87,6 +93,7 @@ void StatsMgr::addValue(const std::string& name, const double value, bool lock)
 }
 
 void StatsMgr::addValue(const std::string& name, const StatsDuration& value, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -96,6 +103,7 @@ void StatsMgr::addValue(const std::string& name, const StatsDuration& value, boo
 }
 
 void StatsMgr::addValue(const std::string& name, const std::string& value, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -105,6 +113,7 @@ void StatsMgr::addValue(const std::string& name, const std::string& value, bool
 }
 
 ObservationPtr StatsMgr::getObservation(const std::string& name, bool lock) const {
+    return ObservationPtr(); // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -116,6 +125,7 @@ ObservationPtr StatsMgr::getObservation(const std::string& name, bool lock) cons
 }
 
 void StatsMgr::addObservation(const ObservationPtr& stat, bool lock) {
+    return; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -127,6 +137,7 @@ void StatsMgr::addObservation(const ObservationPtr& stat, bool lock) {
 }
 
 bool StatsMgr::deleteObservation(const std::string& name, bool lock) {
+    return true; // to use rw locks
     std::mutex* mlock = nullptr;
     if (lock) {
         mlock = mutex_.get();
@@ -139,6 +150,7 @@ bool StatsMgr::deleteObservation(const std::string& name, bool lock) {
 
 bool StatsMgr::setMaxSampleAge(const std::string& name,
                                const StatsDuration& duration) {
+    return true; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     ObservationPtr obs = getObservation(name, false);
     if (obs) {
@@ -151,6 +163,7 @@ bool StatsMgr::setMaxSampleAge(const std::string& name,
 
 bool StatsMgr::setMaxSampleCount(const std::string& name,
                                  uint32_t max_samples) {
+    return true; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     ObservationPtr obs = getObservation(name, false);
     if (obs) {
@@ -162,6 +175,7 @@ bool StatsMgr::setMaxSampleCount(const std::string& name,
 }
 
 void StatsMgr::setMaxSampleAgeAll(const StatsDuration& duration) {
+    return; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     // Let's iterate over all stored statistics...
     for (std::map<std::string, ObservationPtr>::iterator s = global_->stats_.begin();
@@ -173,6 +187,7 @@ void StatsMgr::setMaxSampleAgeAll(const StatsDuration& duration) {
 }
 
 void StatsMgr::setMaxSampleCountAll(uint32_t max_samples) {
+    return; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     // Let's iterate over all stored statistics...
     for (std::map<std::string, ObservationPtr>::iterator s = global_->stats_.begin();
@@ -184,6 +199,7 @@ void StatsMgr::setMaxSampleCountAll(uint32_t max_samples) {
 }
 
 bool StatsMgr::reset(const std::string& name) {
+    return true; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     ObservationPtr obs = getObservation(name, false);
     if (obs) {
@@ -195,16 +211,19 @@ bool StatsMgr::reset(const std::string& name) {
 }
 
 bool StatsMgr::del(const std::string& name) {
+    return true; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     return (global_->del(name));
 }
 
 void StatsMgr::removeAll() {
+    return; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     global_->stats_.clear();
 }
 
 isc::data::ConstElementPtr StatsMgr::get(const std::string& name) const {
+    return ConstElementPtr(); // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     isc::data::ElementPtr response = isc::data::Element::createMap(); // a map
     ObservationPtr obs = getObservation(name, false);
@@ -215,6 +234,7 @@ isc::data::ConstElementPtr StatsMgr::get(const std::string& name) const {
 }
 
 isc::data::ConstElementPtr StatsMgr::getAll() const {
+    return ConstElementPtr(); // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     isc::data::ElementPtr map = isc::data::Element::createMap(); // a map
 
@@ -229,6 +249,7 @@ isc::data::ConstElementPtr StatsMgr::getAll() const {
 }
 
 void StatsMgr::resetAll() {
+    return; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     // Let's iterate over all stored statistics...
     for (std::map<std::string, ObservationPtr>::iterator s = global_->stats_.begin();
@@ -240,6 +261,7 @@ void StatsMgr::resetAll() {
 }
 
 size_t StatsMgr::getSize(const std::string& name) const {
+    return 0; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     ObservationPtr obs = getObservation(name, false);
     size_t size = 0;
@@ -250,6 +272,7 @@ size_t StatsMgr::getSize(const std::string& name) const {
 }
 
 size_t StatsMgr::count() const {
+    return 0; // to use rw locks
     LockGuard<std::mutex> lock(mutex_.get());
     return (global_->stats_.size());
 }