From: Thomas Markwalder Date: Wed, 5 Jun 2024 18:58:11 +0000 (-0400) Subject: [#2611] Added queue-mgr-queue-full stat to D2 X-Git-Tag: Kea-2.7.0~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e5e60911d5fa5793758093e419792ee9ae86608;p=thirdparty%2Fkea.git [#2611] Added queue-mgr-queue-full stat to D2 src/bin/d2/d2_queue_mgr.cc D2QueueMgr::operator() - increments queue-full stat src/bin/d2/tests/d2_queue_mgr_unittests.cc TEST_F (QueueMgrUDPTest, liveFeed) - modified to verify new stat src/lib/d2srv/d2_stats.* Added new stat to D2Stats::ncr --- diff --git a/src/bin/d2/d2_queue_mgr.cc b/src/bin/d2/d2_queue_mgr.cc index d99264b93c..f902b221b8 100644 --- a/src/bin/d2/d2_queue_mgr.cc +++ b/src/bin/d2/d2_queue_mgr.cc @@ -8,6 +8,9 @@ #include #include #include +#include + +using namespace isc::stats; namespace isc { namespace d2 { @@ -60,6 +63,7 @@ D2QueueMgr::operator()(const dhcp_ddns::NameChangeListener::Result result, // is no receive in progress. LOG_ERROR(dhcp_to_d2_logger, DHCP_DDNS_QUEUE_MGR_QUEUE_FULL) .arg(max_queue_size_); + StatsMgr::instance().addValue("queue-mgr-queue-full", static_cast(1)); stopListening(STOPPED_QUEUE_FULL); break; diff --git a/src/bin/d2/tests/d2_queue_mgr_unittests.cc b/src/bin/d2/tests/d2_queue_mgr_unittests.cc index 97a21d88a6..7a1c5d00aa 100644 --- a/src/bin/d2/tests/d2_queue_mgr_unittests.cc +++ b/src/bin/d2/tests/d2_queue_mgr_unittests.cc @@ -403,7 +403,8 @@ TEST_F (QueueMgrUDPTest, liveFeed) { StatMap stats_ncr = { { "ncr-received", 3}, { "ncr-invalid", 0}, - { "ncr-error", 0} + { "ncr-error", 0}, + { "queue-mgr-queue-full", 0} }; checkStats(stats_ncr); @@ -423,7 +424,8 @@ TEST_F (QueueMgrUDPTest, liveFeed) { StatMap stats_ncr_new = { { "ncr-received", 6}, { "ncr-invalid", 0}, - { "ncr-error", 0} + { "ncr-error", 0}, + { "queue-mgr-queue-full", 0} }; checkStats(stats_ncr_new); @@ -439,6 +441,14 @@ TEST_F (QueueMgrUDPTest, liveFeed) { EXPECT_NO_THROW(io_service_->runOne()); EXPECT_EQ(D2QueueMgr::STOPPED_QUEUE_FULL, queue_mgr_->getMgrState()); + StatMap stats_ncr_full = { + { "ncr-received", 7}, + { "ncr-invalid", 0}, + { "ncr-error", 0}, + { "queue-mgr-queue-full", 1} + }; + checkStats(stats_ncr_full); + // Verify queue size did not increase beyond max. EXPECT_EQ(VALID_MSG_CNT, queue_mgr_->getQueueSize()); diff --git a/src/lib/d2srv/d2_stats.cc b/src/lib/d2srv/d2_stats.cc index 5db006923e..ce9401bd95 100644 --- a/src/lib/d2srv/d2_stats.cc +++ b/src/lib/d2srv/d2_stats.cc @@ -21,7 +21,8 @@ const list D2Stats::ncr = { "ncr-received", "ncr-invalid", - "ncr-error" + "ncr-error", + "queue-mgr-queue-full" }; const list diff --git a/src/lib/d2srv/d2_stats.h b/src/lib/d2srv/d2_stats.h index b4122b4910..10e1526f74 100644 --- a/src/lib/d2srv/d2_stats.h +++ b/src/lib/d2srv/d2_stats.h @@ -21,6 +21,7 @@ public: /// - ncr-received /// - ncr-invalid /// - ncr-error + /// - queue-mgr-queue-full static const std::list ncr; /// @brief Global DNS update statistics names.