diff options
| author | Ted Ross <tross@apache.org> | 2009-02-25 15:04:55 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2009-02-25 15:04:55 +0000 |
| commit | cddb14732340187296847418e419e70e3d007494 (patch) | |
| tree | e9ff06f9d5e55296c216be15751777aa035ed9ab | |
| parent | 56dfac7334ce38be1b093cf9469e41f5611b3da8 (diff) | |
| download | qpid-python-cddb14732340187296847418e419e70e3d007494.tar.gz | |
Added "uptime" to the management object for the broker.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@747809 13f79535-47bb-0310-9956-ffa450edef68
| -rw-r--r-- | cpp/src/qpid/management/ManagementBroker.cpp | 5 | ||||
| -rw-r--r-- | cpp/src/qpid/management/ManagementBroker.h | 1 | ||||
| -rw-r--r-- | specs/management-schema.xml | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/cpp/src/qpid/management/ManagementBroker.cpp b/cpp/src/qpid/management/ManagementBroker.cpp index 0f96e97fb0..97b6f20df2 100644 --- a/cpp/src/qpid/management/ManagementBroker.cpp +++ b/cpp/src/qpid/management/ManagementBroker.cpp @@ -80,7 +80,7 @@ ManagementBroker::RemoteAgent::~RemoteAgent () } ManagementBroker::ManagementBroker () : - threadPoolSize(1), interval(10), broker(0) + threadPoolSize(1), interval(10), broker(0), startTime(uint64_t(Duration(now()))) { nextObjectId = 1; brokerBank = 1; @@ -346,6 +346,9 @@ void ManagementBroker::periodicProcessing (void) string routingKey; list<pair<ObjectId, ManagementObject*> > deleteList; + uint64_t uptime = uint64_t(Duration(now())) - startTime; + static_cast<_qmf::Broker*>(broker->GetManagementObject())->set_uptime(uptime); + moveNewObjectsLH(); if (clientWasAdded) { diff --git a/cpp/src/qpid/management/ManagementBroker.h b/cpp/src/qpid/management/ManagementBroker.h index f65d6a345e..a57f73be15 100644 --- a/cpp/src/qpid/management/ManagementBroker.h +++ b/cpp/src/qpid/management/ManagementBroker.h @@ -182,6 +182,7 @@ private: uint32_t nextRemoteBank; uint32_t nextRequestSequence; bool clientWasAdded; + const uint64_t startTime; std::auto_ptr<IdAllocator> allocator; diff --git a/specs/management-schema.xml b/specs/management-schema.xml index 67c90a1fbe..bc38350a45 100644 --- a/specs/management-schema.xml +++ b/specs/management-schema.xml @@ -70,6 +70,7 @@ <property name="mgmtPubInterval" type="uint16" access="RW" unit="second" min="1" desc="Interval for management broadcasts"/> <property name="version" type="sstr" access="RO" desc="Running software version"/> <property name="dataDir" type="sstr" access="RO" optional="y" desc="Persistent configuration storage location"/> + <statistic name="uptime" type="deltaTime"/> <method name="echo" desc="Request a response to test the path to the management broker"> <arg name="sequence" dir="IO" type="uint32" default="0"/> |
