summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorKenneth Anthony Giusti <kgiusti@apache.org>2011-03-02 19:02:00 +0000
committerKenneth Anthony Giusti <kgiusti@apache.org>2011-03-02 19:02:00 +0000
commit3f0d68f921fc72a98b669b4a4e056e07cb3f052f (patch)
treef073bfa1d01cb2aaf413c9fa92a3828b9bbdb88b /cpp/src
parentc281f0b260c331f09f827641862d5b5df2a0dbe5 (diff)
downloadqpid-python-3f0d68f921fc72a98b669b4a4e056e07cb3f052f.tar.gz
QPID-3081: add statistic for queue flow control transitions
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1076329 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/QueueFlowLimit.cpp4
-rw-r--r--cpp/src/tests/queue_flow_limit_tests.py3
2 files changed, 5 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/QueueFlowLimit.cpp b/cpp/src/qpid/broker/QueueFlowLimit.cpp
index a99c9de7df..21c7a2a737 100644
--- a/cpp/src/qpid/broker/QueueFlowLimit.cpp
+++ b/cpp/src/qpid/broker/QueueFlowLimit.cpp
@@ -138,8 +138,10 @@ void QueueFlowLimit::enqueued(const QueuedMessage& msg)
flowStopped = true;
QPID_LOG(info, "Queue \"" << queueName << "\": has reached " << flowStopSize << " enqueued bytes. Producer flow control activated." );
}
- if (flowStopped && queueMgmtObj)
+ if (flowStopped && queueMgmtObj) {
queueMgmtObj->set_flowStopped(true);
+ queueMgmtObj->inc_flowStoppedCount();
+ }
}
/** @todo KAG: - REMOVE ONCE STABLE */
diff --git a/cpp/src/tests/queue_flow_limit_tests.py b/cpp/src/tests/queue_flow_limit_tests.py
index ac62dcdd1e..bdd2a21b78 100644
--- a/cpp/src/tests/queue_flow_limit_tests.py
+++ b/cpp/src/tests/queue_flow_limit_tests.py
@@ -137,12 +137,12 @@ class QueueFlowLimitTests(TestBase010):
"""
self.startQmf();
oid = self._create_queue("test-q", stop_count=373, resume_count=229)
+ self.assertEqual(self.qmf.getObjects(_objectId=oid)[0].flowStoppedCount, 0)
sndr1 = self._start_qpid_send("test-q", count=1213, content="XXX", capacity=50);
sndr2 = self._start_qpid_send("test-q", count=797, content="Y", capacity=13);
sndr3 = self._start_qpid_send("test-q", count=331, content="ZZZZZ", capacity=149);
totalMsgs = 1213 + 797 + 331
-
# wait until flow control is active
count = 0
@@ -180,6 +180,7 @@ class QueueFlowLimitTests(TestBase010):
self.assertEqual(count, totalMsgs)
self.failIf(self.qmf.getObjects(_objectId=oid)[0].flowStopped)
+ self.failUnless(self.qmf.getObjects(_objectId=oid)[0].flowStoppedCount)
self._delete_queue("test-q")