rhmessaging commits: r1206 - in mgmt: notes and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2007-11-01 14:59:46 -0400 (Thu, 01 Nov 2007)
New Revision: 1206
Modified:
mgmt/cumin/python/cumin/model.py
mgmt/notes/justin-todo.txt
Log:
Makes capitalization of measurement titles uniform.
Modified: mgmt/cumin/python/cumin/model.py
===================================================================
--- mgmt/cumin/python/cumin/model.py 2007-11-01 17:46:33 UTC (rev 1205)
+++ mgmt/cumin/python/cumin/model.py 2007-11-01 18:59:46 UTC (rev 1206)
@@ -408,32 +408,32 @@
self.measurements.append(measure)
measure = Measurement("msgTotalEnqueues", "int", MgmtQueueStats)
- measure.title = "Msgs. enqueued"
+ measure.title = "Msgs. Enqueued"
measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("msgTotalDequeues", "int", MgmtQueueStats)
- measure.title = "Msgs. dequeued"
+ measure.title = "Msgs. Dequeued"
measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("byteDepth", "int", MgmtQueueStats)
- measure.title = "Byte depth"
+ measure.title = "Byte Depth"
measure.unit = "byte"
measure.categories = ("byte", "general")
measure.highlow = True
self.measurements.append(measure)
measure = Measurement("byteTotalEnqueues", "int", MgmtQueueStats)
- measure.title = "Bytes enqueued"
+ measure.title = "Bytes Enqueued"
measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
measure = Measurement("byteTotalDequeues", "int", MgmtQueueStats)
- measure.title = "Bytes dequeued"
+ measure.title = "Bytes Dequeued"
measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
@@ -446,7 +446,7 @@
self.measurements.append(measure)
measure = Measurement("unackedMessages", "int", MgmtQueueStats)
- measure.title = "Unacked msgs."
+ measure.title = "Msgs. Unacked"
measure.unit = "message"
measure.categories = ("general")
self.measurements.append(measure)
@@ -459,7 +459,7 @@
#self.measurements.append(measure)
measure = Measurement("diskPages", "int", MgmtQueueStats)
- measure.title = "Disk pages"
+ measure.title = "Disk Pages"
measure.unit = "page"
measure.categories = ("general")
self.measurements.append(measure)
@@ -472,74 +472,74 @@
# Transactional
measure = Measurement("msgTxEnqueues", "int", MgmtQueueStats)
- measure.title = "Msgs. enqueued"
+ measure.title = "Msgs. Enqueued"
measure.unit = "message"
measure.categories = ("message", "transactional")
self.measurements.append(measure)
measure = Measurement("msgTxDequeues", "int", MgmtQueueStats)
- measure.title = "Msgs. dequeued"
+ measure.title = "Msgs. Dequeued"
measure.unit = "message"
measure.categories = ("message", "transactional")
self.measurements.append(measure)
measure = Measurement("byteTxEnqueues", "int", MgmtQueueStats)
- measure.title = "Bytes enqueued"
+ measure.title = "Bytes Enqueued"
measure.unit = "byte"
measure.categories = ("byte", "transactional")
self.measurements.append(measure)
measure = Measurement("byteTxDequeues", "int", MgmtQueueStats)
- measure.title = "Bytes dequeued"
+ measure.title = "Bytes Dequeued"
measure.unit = "byte"
measure.categories = ("byte", "transactional")
self.measurements.append(measure)
measure = Measurement("enqueueTxStarts", "int", MgmtQueueStats)
- measure.title = "Enq. trans. started"
+ measure.title = "Enq. Trans. Started"
measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("enqueueTxCommits", "int", MgmtQueueStats)
- measure.title = "Enq. trans. committed"
+ measure.title = "Enq. Trans. Committed"
measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("enqueueTxRejects", "int", MgmtQueueStats)
- measure.title = "Enq. trans. rejected"
+ measure.title = "Enq. Trans. Rejected"
measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("enqueueTxCount", "int", MgmtQueueStats)
- measure.title = "Enq. trans. pending"
+ measure.title = "Enq. Trans. Pending"
measure.unit = "transaction"
measure.categories = ("transaction")
measure.highlow = True
self.measurements.append(measure)
measure = Measurement("dequeueTxStarts", "int", MgmtQueueStats)
- measure.title = "Deq. trans. started"
+ measure.title = "Deq. Trans. Started"
measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("dequeueTxCommits", "int", MgmtQueueStats)
- measure.title = "Deq. trans. committed"
+ measure.title = "Deq. Trans. Committed"
measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("dequeueTxRejects", "int", MgmtQueueStats)
- measure.title = "Deq. trans. rejected"
+ measure.title = "Deq. Trans. Rejected"
measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("dequeueTxCount", "int", MgmtQueueStats)
- measure.title = "Deq. trans. pending"
+ measure.title = "Deq. Trans. Pending"
measure.unit = "transaction"
measure.categories = ("transaction")
measure.highlow = True
@@ -548,25 +548,25 @@
# Persistent
measure = Measurement("msgPersistEnqueues", "int", MgmtQueueStats)
- measure.title = "Msgs. enqueued"
+ measure.title = "Msgs. Enqueued"
measure.unit = "message"
measure.categories = ("message", "persistent")
self.measurements.append(measure)
measure = Measurement("msgPersistDequeues", "int", MgmtQueueStats)
- measure.title = "Msgs. dequeued"
+ measure.title = "Msgs. Dequeued"
measure.unit = "message"
measure.categories = ("message", "persistent")
self.measurements.append(measure)
measure = Measurement("bytePersistEnqueues", "int", MgmtQueueStats)
- measure.title = "Bytes enqueued"
+ measure.title = "Bytes Enqueued"
measure.unit = "byte"
measure.categories = ("byte", "persistent")
self.measurements.append(measure)
measure = Measurement("bytePersistDequeues", "int", MgmtQueueStats)
- measure.title = "Bytes dequeued"
+ measure.title = "Bytes Dequeued"
measure.unit = "byte"
measure.categories = ("byte", "persistent")
self.measurements.append(measure)
@@ -616,7 +616,7 @@
self.measurements.append(measure)
measure = Measurement("unackedMessages", "int")
- measure.title = "Unacked messages"
+ measure.title = "Msgs. Unacked"
measure.unit = "message"
measure.categories = ("message", "general")
measure.highlow = True
@@ -644,37 +644,37 @@
self.measurements.append(measure)
measure = Measurement("msgReceives", "int")
- measure.title = "Msgs. received"
+ measure.title = "Msgs. Received"
measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("msgDrops", "int")
- measure.title = "Msgs. dropped"
+ measure.title = "Msgs. Dropped"
measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("msgRoutes", "int")
- measure.title = "Msgs. routed"
+ measure.title = "Msgs. Routed"
measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("byteReceives", "int")
- measure.title = "Bytes received"
+ measure.title = "Bytes Received"
measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
measure = Measurement("byteDrops", "int")
- measure.title = "Bytes dropped"
+ measure.title = "Bytes Dropped"
measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
measure = Measurement("byteRoutes", "int")
- measure.title = "Bytes routed"
+ measure.title = "Bytes Routed"
measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
Modified: mgmt/notes/justin-todo.txt
===================================================================
--- mgmt/notes/justin-todo.txt 2007-11-01 17:46:33 UTC (rev 1205)
+++ mgmt/notes/justin-todo.txt 2007-11-01 18:59:46 UTC (rev 1206)
@@ -14,14 +14,12 @@
- Add created, deleted, updated timestamps
- * queue: link consumers stat to consumers view
+ * queue: link bindings, consumers stat to respective views
* exch: link bindings, producers stats to respective views
* model: get rid of the old *_count stat fields and use the new ones
- * Add rates to stats views
-
* Make status boxes display stats like those from list views
* Restyle drop boxes to not be beveled
17 years, 2 months
rhmessaging commits: r1205 - mgmt/mint/xml.
by rhmessaging-commits@lists.jboss.org
Author: nunofsantos
Date: 2007-11-01 13:46:33 -0400 (Thu, 01 Nov 2007)
New Revision: 1205
Modified:
mgmt/mint/xml/MgmtSchema.xml
Log:
updated schema
Modified: mgmt/mint/xml/MgmtSchema.xml
===================================================================
--- mgmt/mint/xml/MgmtSchema.xml 2007-11-01 17:35:06 UTC (rev 1204)
+++ mgmt/mint/xml/MgmtSchema.xml 2007-11-01 17:46:33 UTC (rev 1205)
@@ -1,5 +1,24 @@
<schema version="0.1" date="10/22/2007">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
<!-- Type information:
Numeric types with "_wm" suffix are watermarked numbers. These are compound
@@ -22,27 +41,36 @@
<!--
===============================================================
- Server
+ System
===============================================================
-->
- <object name="server" schemaId="1">
- <configElement name="port" type="uint16" access="RO" desc="TCP Port for AMQP Service"/>
- <configElement name="workerThreads" type="uint16" access="RO" desc="Thread pool size"/>
- <configElement name="maxConns" type="uint16" access="RO" desc="Maximum allowed connections"/>
- <configElement name="connBacklog" type="uint16" access="RO" desc="Connection backlog limit for listening socket"/>
- <configElement name="stagingThreshold" type="uint32" access="RO" desc="Broker stages messages over this size to disk"/>
- <configElement name="storeLib" type="string" access="RO" desc="Name of persistent storage library"/>
- <configElement name="asyncStore" type="bool" access="RO" desc="Use async persistent store"/>
- <configElement name="mgmtPubInterval" type="uint16" min="1" access="RW" desc="Interval for management broadcasts"/>
- <configElement name="initialDiskPageSize" type="uint32" access="RO" desc="Number of disk pages allocated for storage"/>
- <configElement name="initialPagesPerQueue" type="uint32" access="RO" desc="Number of disk pages allocated per queue"/>
- <configElement name="clusterName" type="string" access="RO"
- desc="Name of cluster this server is a member of, zero-length for standalone server"/>
+ <object name="system" schemaId="1">
+ <configElement name="sysId" type="string"/>
<!-- RT config/instrumentation TBD -->
- <instElement name="version" type="string" desc="Running software version"/>
+ </object>
+ <!--
+ ===============================================================
+ Broker
+ ===============================================================
+ -->
+ <object name="broker" schemaId="2">
+ <configElement name="sysId" type="string" access="RO" index="y" desc="System ID"/>
+ <configElement name="port" type="uint16" access="RO" desc="TCP Port for AMQP Service"/>
+ <configElement name="workerThreads" type="uint16" access="RO" desc="Thread pool size"/>
+ <configElement name="maxConns" type="uint16" access="RO" desc="Maximum allowed connections"/>
+ <configElement name="connBacklog" type="uint16" access="RO" desc="Connection backlog limit for listening socket"/>
+ <configElement name="stagingThreshold" type="uint32" access="RO" desc="Broker stages messages over this size to disk"/>
+ <configElement name="storeLib" type="string" access="RO" desc="Name of persistent storage library"/>
+ <configElement name="asyncStore" type="bool" access="RO" desc="Use async persistent store"/>
+ <configElement name="mgmtPubInterval" type="uint16" min="1" access="RW" unit="second" desc="Interval for management broadcasts"/>
+ <configElement name="initialDiskPageSize" type="uint32" access="RO" desc="Number of disk pages allocated for storage"/>
+ <configElement name="initialPagesPerQueue" type="uint32" access="RO" desc="Number of disk pages allocated per queue"/>
+ <configElement name="clusterName" type="string" access="RO" desc="Name of cluster this server is a member of, zero-length for standalone server"/>
+ <configElement name="version" type="string" access="RO" desc="Running software version"/>
+
<method name="joinCluster">
<arg name="clusterName" type="string"/>
</method>
@@ -55,7 +83,7 @@
Virtual Host
===============================================================
-->
- <object name="vhost" schemaId="2">
+ <object name="vhost" schemaId="3">
<configElement name="name" type="string" access="RC" index="y"/>
</object>
@@ -64,45 +92,46 @@
Queue
===============================================================
-->
- <object name="queue" schemaId="3">
- <configElement name="vhostRef" type="string" access="RC" index="y"/>
- <configElement name="name" type="string" access="RC" index="y"/>
+ <object name="queue" schemaId="4">
+ <configElement name="vhostRef" type="string" access="RC" index="y"/>
+ <configElement name="name" type="string" access="RC" index="y"/>
- <configElement name="durable" type="bool" access="RC"/>
- <configElement name="autoDelete" type="bool" access="RC"/>
- <configElement name="exclusive" type="bool" access="RC"/>
+ <configElement name="durable" type="bool" access="RC"/>
+ <configElement name="autoDelete" type="bool" access="RC"/>
+ <configElement name="exclusive" type="bool" access="RC"/>
<configElement name="pageMemoryLimit" type="uint32" access="RO"/>
- <instElement name="diskPageSize" type="uint32"/>
- <instElement name="diskPages" type="uint32"/>
- <instElement name="diskAvailableSize" type="uint32"/>
+ <instElement name="diskPageSize" type="uint32"/>
+ <instElement name="diskPages" type="uint32"/>
+ <instElement name="diskAvailableSize" type="uint32"/>
- <instElement name="msgTotalEnqueues" type="uint64" desc="Total messages enqueued"/>
- <instElement name="msgTotalDequeues" type="uint64" desc="Total messages dequeued"/>
- <instElement name="msgTxEnqueues" type="uint64" desc="Transactional messages enqueued"/>
- <instElement name="msgTxDequeues" type="uint64" desc="Transactional messages dequeued"/>
- <instElement name="msgPersistEnqueues" type="uint64" desc="Persistent messages enqueued"/>
- <instElement name="msgPersistDequeues" type="uint64" desc="Persistent messages dequeued"/>
- <instElement name="msgDepth" type="uint32_wm" desc="Current size of queue in messages"/>
- <instElement name="byteTotalEnqueues" type="uint64" desc="Total messages enqueued"/>
- <instElement name="byteTotalDequeues" type="uint64" desc="Total messages dequeued"/>
- <instElement name="byteTxEnqueues" type="uint64" desc="Transactional messages enqueued"/>
- <instElement name="byteTxDequeues" type="uint64" desc="Transactional messages dequeued"/>
- <instElement name="bytePersistEnqueues" type="uint64" desc="Persistent messages enqueued"/>
- <instElement name="bytePersistDequeues" type="uint64" desc="Persistent messages dequeued"/>
- <instElement name="byteDepth" type="uint32_wm" desc="Current size of queue in bytes"/>
- <instElement name="enqueueTxStarts" type="uint64" desc="Total enqueue transactions started "/>
- <instElement name="enqueueTxCommits" type="uint64" desc="Total enqueue transactions committed"/>
- <instElement name="enqueueTxRejects" type="uint64" desc="Total enqueue transactions rejected"/>
- <instElement name="enqueueTxCount" type="uint32_wm" desc="Current pending enqueue transactions"/>
- <instElement name="dequeueTxStarts" type="uint64" desc="Total dequeue transactions started"/>
- <instElement name="dequeueTxCommits" type="uint64" desc="Total dequeue transactions committed"/>
- <instElement name="dequeueTxRejects" type="uint64" desc="Total dequeue transactions rejected"/>
- <instElement name="dequeueTxCount" type="uint32_wm" desc="Current pending dequeue transactions"/>
- <instElement name="consumers" type="uint32_wm" desc="Current consumers on queue"/>
- <instElement name="unackedMessages" type="uint32_wm" desc="Messages consumed but not yet acked"/>
+ <instElement name="msgTotalEnqueues" type="uint64" unit="message" desc="Total messages enqueued"/>
+ <instElement name="msgTotalDequeues" type="uint64" unit="message" desc="Total messages dequeued"/>
+ <instElement name="msgTxnEnqueues" type="uint64" unit="message" desc="Transactional messages enqueued"/>
+ <instElement name="msgTxnDequeues" type="uint64" unit="message" desc="Transactional messages dequeued"/>
+ <instElement name="msgPersistEnqueues" type="uint64" unit="message" desc="Persistent messages enqueued"/>
+ <instElement name="msgPersistDequeues" type="uint64" unit="message" desc="Persistent messages dequeued"/>
+ <instElement name="msgDepth" type="uint32_wm" unit="message" desc="Current size of queue in messages"/>
+ <instElement name="byteTotalEnqueues" type="uint64" unit="octet" desc="Total messages enqueued"/>
+ <instElement name="byteTotalDequeues" type="uint64" unit="octet" desc="Total messages dequeued"/>
+ <instElement name="byteTxnEnqueues" type="uint64" unit="octet" desc="Transactional messages enqueued"/>
+ <instElement name="byteTxnDequeues" type="uint64" unit="octet" desc="Transactional messages dequeued"/>
+ <instElement name="bytePersistEnqueues" type="uint64" unit="octet" desc="Persistent messages enqueued"/>
+ <instElement name="bytePersistDequeues" type="uint64" unit="octet" desc="Persistent messages dequeued"/>
+ <instElement name="byteDepth" type="uint32_wm" unit="octet" desc="Current size of queue in bytes"/>
+ <instElement name="enqueueTxnStarts" type="uint64" unit="transaction" desc="Total enqueue transactions started "/>
+ <instElement name="enqueueTxnCommits" type="uint64" unit="transaction" desc="Total enqueue transactions committed"/>
+ <instElement name="enqueueTxnRejects" type="uint64" unit="transaction" desc="Total enqueue transactions rejected"/>
+ <instElement name="enqueueTxnCount" type="uint32_wm" unit="transaction" desc="Current pending enqueue transactions"/>
+ <instElement name="dequeueTxnStarts" type="uint64" unit="transaction" desc="Total dequeue transactions started"/>
+ <instElement name="dequeueTxnCommits" type="uint64" unit="transaction" desc="Total dequeue transactions committed"/>
+ <instElement name="dequeueTxnRejects" type="uint64" unit="transaction" desc="Total dequeue transactions rejected"/>
+ <instElement name="dequeueTxnCount" type="uint32_wm" unit="transaction" desc="Current pending dequeue transactions"/>
+ <instElement name="consumers" type="uint32_wm" unit="consumer" desc="Current consumers on queue"/>
+ <instElement name="bindings" type="uint32_wm" unit="binding" desc="Current bindings"/>
+ <instElement name="unackedMessages" type="uint32_wm" unit="message" desc="Messages consumed but not yet acked"/>
- <method name="purge" desc="Discard all messages on queue"/>
+ <method name="purge" desc="Discard all messages on queue"/>
<method name="increaseDiskSize" desc="Increase number of disk pages allocated for this queue">
<arg name="pages" type="uint32" desc="New total page allocation"/>
</method>
@@ -113,18 +142,19 @@
Exchange
===============================================================
-->
- <object name="exchange" schemaId="4">
- <configElement name="vhostRef" type="string" access="RC" index="y"/>
- <configElement name="name" type="string" access="RC" index="y"/>
- <configElement name="type" type="string" access="RC"/>
+ <object name="exchange" schemaId="5">
+ <configElement name="vhostRef" type="string" access="RC" index="y"/>
+ <configElement name="name" type="string" access="RC" index="y"/>
+ <configElement name="type" type="string" access="RC"/>
- <instElement name="bindings" type="uint32_wm" desc="Current bindings"/>
- <instElement name="msgReceives" type="uint64" desc="Total messages received"/>
- <instElement name="msgDrops" type="uint64" desc="Total messages dropped (no matching key)"/>
- <instElement name="msgRoutes" type="uint64" desc="Total routed messages"/>
- <instElement name="byteReceives" type="uint64" desc="Total bytes received"/>
- <instElement name="byteDrops" type="uint64" desc="Total bytes dropped (no matching key)"/>
- <instElement name="byteRoutes" type="uint64" desc="Total routed bytes"/>
+ <instElement name="producers" type="uint32_wm" desc="Current producers on exchange"/>
+ <instElement name="bindings" type="uint32_wm" desc="Current bindings"/>
+ <instElement name="msgReceives" type="uint64" desc="Total messages received"/>
+ <instElement name="msgDrops" type="uint64" desc="Total messages dropped (no matching key)"/>
+ <instElement name="msgRoutes" type="uint64" desc="Total routed messages"/>
+ <instElement name="byteReceives" type="uint64" desc="Total bytes received"/>
+ <instElement name="byteDrops" type="uint64" desc="Total bytes dropped (no matching key)"/>
+ <instElement name="byteRoutes" type="uint64" desc="Total routed bytes"/>
</object>
<!--
@@ -132,11 +162,11 @@
Binding
===============================================================
-->
- <object name="binding" schemaId="5">
- <configElement name="queueRef" type="string" access="RC" index="y"/>
- <configElement name="exchangeRef" type="string" access="RC" index="y"/>
- <configElement name="bindingKey" type="string" access="RC"/>
- <configElement name="arguments" type="fieldTable" access="RC"/>
+ <object name="binding" schemaId="6">
+ <configElement name="queueRef" type="string" access="RC" index="y"/>
+ <configElement name="exchangeRef" type="string" access="RC" index="y"/>
+ <configElement name="bindingKey" type="string" access="RC"/>
+ <configElement name="arguments" type="fieldTable" access="RC"/>
<instElement name="msgMatched" type="uint64"/>
</object>
@@ -146,13 +176,14 @@
Client
===============================================================
-->
- <object name="client" schemaId="6">
+ <object name="client" schemaId="7">
+ <configElement name="vhostRef" type="string" index="y"/>
<configElement name="ipAddr" type="ipAddress" index="y"/>
- <configElement name="port" type="uint16" index="y"/>
+ <configElement name="port" type="uint16" index="y"/>
- <instElement name="authIdentity" type="string"/>
- <instElement name="msgsProduced" type="uint64"/>
- <instElement name="msgsConsumed" type="uint64"/>
+ <instElement name="authIdentity" type="string"/>
+ <instElement name="msgsProduced" type="uint64"/>
+ <instElement name="msgsConsumed" type="uint64"/>
<instElement name="bytesProduced" type="uint64"/>
<instElement name="bytesConsumed" type="uint64"/>
@@ -165,13 +196,13 @@
Session
===============================================================
-->
- <object name="session" schemaId="7">
- <configElement name="vhostRef" type="string" index="y"/>
- <configElement name="name" type="string" index="y"/>
- <configElement name="clientRef" type="string" access="RO"/>
+ <object name="session" schemaId="8">
+ <configElement name="vhostRef" type="string" index="y"/>
+ <configElement name="name" type="string" index="y"/>
+ <configElement name="clientRef" type="string" access="RO"/>
<configElement name="detachedLifespan" type="uint32" access="RO"/>
- <instElement name="attached" type="bool"/>
+ <instElement name="attached" type="bool"/>
<instElement name="remainingLifespan" type="uint32"/>
<instElement name="framesOutstanding" type="uint32"/>
@@ -186,14 +217,15 @@
Destination
===============================================================
-->
- <object name="destination" schemaId="8">
+ <object name="destination" schemaId="9">
+ <configElement name="sessionRef" type="string" index="y"/>
<configElement name="name" type="string" index="y"/>
- <instElement name="flowMode" type="enum(credit,window)"/>
- <instElement name="maxMsgCredits" type="uint32"/>
- <instElement name="maxByteCredits" type="uint32"/>
+ <instElement name="flowMode" type="enum(credit,window)"/>
+ <instElement name="maxMsgCredits" type="uint32"/>
+ <instElement name="maxByteCredits" type="uint32"/>
- <instElement name="msgCredits" type="uint32"/>
+ <instElement name="msgCredits" type="uint32"/>
<instElement name="byteCredits" type="uint32"/>
<method name="throttle" desc="Apply extra rate limiting to destination: 0 = Normal, 10 = Maximum">
@@ -208,13 +240,12 @@
Producer
===============================================================
-->
- <object name="producer" schemaId="9">
- <configElement name="sessionRef" type="string" index="y"/>
- <configElement name="exchangeRef" type="string" index="y"/>
+ <object name="producer" schemaId="10">
+ <configElement name="destinationRef" type="string" index="y"/>
+ <configElement name="exchangeRef" type="string" index="y"/>
- <instElement name="destinationRef" type="string"/>
- <instElement name="msgsProduced" type="uint64"/>
- <instElement name="bytesProduced" type="uint64"/>
+ <instElement name="msgsProduced" type="uint64"/>
+ <instElement name="bytesProduced" type="uint64"/>
</object>
<!--
@@ -222,17 +253,14 @@
Consumer
===============================================================
-->
- <object name="consumer" schemaId="10">
- <configElement name="sessionRef" type="string" index="y"/>
- <configElement name="queueRef" type="string" index="y"/>
- <configElement name="name" type="string" index="y"/>
+ <object name="consumer" schemaId="11">
+ <configElement name="destinationRef" type="string" index="y"/>
+ <configElement name="queueRef" type="string" index="y"/>
- <instElement name="destinationRef" type="string"/>
- <instElement name="msgsConsumed" type="uint64"/>
- <instElement name="bytesConsumed" type="uint64"/>
+ <instElement name="msgsConsumed" type="uint64"/>
+ <instElement name="bytesConsumed" type="uint64"/>
<instElement name="unackedMessages" type="uint32_wm" desc="Messages consumed but not yet acked"/>
<method name="close"/>
</object>
-</schema>
-
+</schema>
\ No newline at end of file
17 years, 2 months
rhmessaging commits: r1204 - mgmt/mint.
by rhmessaging-commits@lists.jboss.org
Author: nunofsantos
Date: 2007-11-01 13:35:06 -0400 (Thu, 01 Nov 2007)
New Revision: 1204
Modified:
mgmt/mint/schemaparser.py
Log:
add stats foreign key relation
Modified: mgmt/mint/schemaparser.py
===================================================================
--- mgmt/mint/schemaparser.py 2007-11-01 17:13:28 UTC (rev 1203)
+++ mgmt/mint/schemaparser.py 2007-11-01 17:35:06 UTC (rev 1204)
@@ -1,4 +1,4 @@
-import mllib
+import qpid.mllib
from sqlobject import connectionForURI, sqlhub, MixedCaseUnderscoreStyle
@@ -27,7 +27,7 @@
self.startTable(name, type)
for elem in elements:
self.generateColumn(elem)
- self.endTable()
+ self.endTable(name, type)
def startTable(self, name, type):
if (type == "config"):
@@ -36,7 +36,9 @@
actualName = name + "_stats"
self.sqlOutput += "CREATE TABLE " + actualName + " (\n"
self.sqlOutput += " id BIGSERIAL PRIMARY KEY,\n"
- if (type == "inst"):
+ if (type == "config"):
+ self.sqlOutput += " " + name + "_stats_id BIGINT,\n"
+ else:
self.sqlOutput += " " + name + "_id BIGINT REFERENCES " + name + " ,\n"
self.generateTimestampColumn("rec")
if (type == "config"):
@@ -59,15 +61,17 @@
params = ""
if (elem["@name"].endswith("Ref")):
foreignKeyTable = "mgmt_" + actualName.replace("_ref", "")
- self.sqlOutput += " " + foreignKeyTable + "_id BIGINT REFERENCES " + foreignKeyTable + " ,\n"
+ self.sqlOutput += " " + foreignKeyTable + "_id BIGINT REFERENCES " + foreignKeyTable + ",\n"
else:
self.sqlOutput += " " + actualName + " " + self.dataTypesMap[actualType] + params + ",\n"
if (elem["@type"].endswith("_wm") and suffix == ""):
self.generateColumn(elem, "High")
self.generateColumn(elem, "Low")
- def endTable(self):
+ def endTable(self, name, type):
self.sqlOutput = self.sqlOutput[:-2] + "\n);\n\n"
+ if (type == "inst"):
+ self.sqlOutput += "ALTER TABLE " + name + " ADD FOREIGN KEY (" + name + "_stats_id) REFERENCES " + name + "_stats;\n\n"
def getCode(self):
return self.sqlOutput
@@ -93,14 +97,15 @@
def generate(self, name, elements):
name = self.attrNameFromDbColumn(name)
+ self.startClass(name + "Stats")
+ self.endClass()
self.startClass(name)
for elem in elements:
self.generateMethod(elem)
- self.endClass()
- self.startClass(name + "Stats")
- self.endClass()
+ self.endClass(name)
def generateForeignKeys(self, name, elements):
+ dbName = name
name = self.attrNameFromDbColumn(name)
for elem in elements:
refName = elem["@name"]
@@ -123,7 +128,10 @@
self.pythonOutput += comment
self.pythonOutput += " pass\n\n"
- def endClass(self):
+ def endClass(self, name=""):
+ if (name != "" and not name.endswith("Stats")):
+ # add missing attribute (not added correctly with SqlObject 0.7.7; may need to be removed in later versions)
+ self.pythonOutput += " _SO_class_" + self.style.pythonAttrToDBColumn(name).capitalize() + "_stats = " + name + "Stats()\n"
self.pythonOutput += "\n"
def getCode(self):
@@ -147,7 +155,7 @@
self.sqlGen = SqlGenerator(self.style)
def parseConfigFile(self):
- config = mllib.xml_parse("config.xml")
+ config = qpid.mllib.xml_parse("config.xml")
configOptions = config.query["config/configOption"]
for opt in configOptions:
self.options[opt["@name"]] = opt["@value"]
@@ -157,7 +165,7 @@
sqlhub.processConnection = conn
sqlFile = open(self.options["sqlOutput"], "w")
pythonFile = open(self.options["pythonOutput"], "w")
- schema = mllib.xml_parse(self.options["schemaXML"])
+ schema = qpid.mllib.xml_parse(self.options["schemaXML"])
objects = schema.query["schema/object"]
for obj in objects:
actualName = "mgmt_" + obj["@name"]
17 years, 2 months
rhmessaging commits: r1203 - in mgmt: notes and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2007-11-01 13:13:28 -0400 (Thu, 01 Nov 2007)
New Revision: 1203
Modified:
mgmt/cumin/python/cumin/measurement.py
mgmt/cumin/python/cumin/model.py
mgmt/cumin/python/cumin/queue.py
mgmt/cumin/python/cumin/queue.strings
mgmt/cumin/python/cumin/widgets.py
mgmt/notes/justin-todo.txt
Log:
First part of changes to the queue listing in the broker view.
Modified: mgmt/cumin/python/cumin/measurement.py
===================================================================
--- mgmt/cumin/python/cumin/measurement.py 2007-11-01 16:39:47 UTC (rev 1202)
+++ mgmt/cumin/python/cumin/measurement.py 2007-11-01 17:13:28 UTC (rev 1203)
@@ -38,7 +38,7 @@
% (measure.get_high() or 0, measure.get_low() or 0)
else:
unit = self.unit_abbrevs.get(measure.unit, measure.unit)
- return "%i <small>%s/sec</small>" % (measure.get_rate(), unit)
+ return rate(measure.get_rate(), unit, "sec")
def render_item_average(self, session, measure):
return "%0.2f" % (sum(measure.values) / float(len(measure.values)))
Modified: mgmt/cumin/python/cumin/model.py
===================================================================
--- mgmt/cumin/python/cumin/model.py 2007-11-01 16:39:47 UTC (rev 1202)
+++ mgmt/cumin/python/cumin/model.py 2007-11-01 17:13:28 UTC (rev 1203)
@@ -366,7 +366,7 @@
else:
return self.__values[-limit:]
- def get_rate(self, interval=10):
+ def get_rate(self, interval=3):
values = self.get_values(2)
if len(values) > 1 and values[0] != None:
Modified: mgmt/cumin/python/cumin/queue.py
===================================================================
--- mgmt/cumin/python/cumin/queue.py 2007-11-01 16:39:47 UTC (rev 1202)
+++ mgmt/cumin/python/cumin/queue.py 2007-11-01 17:13:28 UTC (rev 1203)
@@ -52,12 +52,23 @@
def render_item_bindings(self, session, queue):
return len(queue.binding_items())
- def render_item_message_depth(self, session, queue):
+ def render_item_enqueues(self, session, queue):
+ value = queue.get_measurement("msgTotalEnqueues").get_rate()
+ return rate(value, "msg", "sec")
+
+ def render_item_dequeues(self, session, queue):
+ value = queue.get_measurement("msgTotalDequeues").get_rate()
+ return rate(value, "msg", "sec")
+
+ def render_item_depth(self, session, queue):
return queue.get_measurement("msgDepth").get_value()
- def render_item_byte_depth(self, session, queue):
- return queue.get_measurement("byteDepth").get_value()
+ def render_item_ratio(self, session, queue):
+ values = queue.get_measurement("msgDepth").get_values(2)
+ if len(values) > 1 and values[0] != None:
+ return "%0.00f" % (values[1] - values[0] / 3)
+
def render_item_status(self, session, queue):
return status(len(queue.errors), len(queue.warnings))
Modified: mgmt/cumin/python/cumin/queue.strings
===================================================================
--- mgmt/cumin/python/cumin/queue.strings 2007-11-01 16:39:47 UTC (rev 1202)
+++ mgmt/cumin/python/cumin/queue.strings 2007-11-01 17:13:28 UTC (rev 1203)
@@ -18,8 +18,10 @@
<th>Name</th>
<th class="ralign">Consumers</th>
<th class="ralign">Exchange Bindings</th>
- <th class="ralign">Msg. Depth</th>
- <th class="ralign">Byte Depth</th>
+ <th class="ralign">Enqueues</th>
+ <th class="ralign">Dequeues</th>
+ <th class="ralign">Depth</th>
+ <th class="ralign">Ratio</th>
<th>Status</th>
</tr>
@@ -33,8 +35,10 @@
<td>{item_link}</a></td>
<td class="ralign">{item_consumers}</td>
<td class="ralign">{item_bindings}</td>
- <td class="ralign">{item_message_depth}</td>
- <td class="ralign">{item_byte_depth}</td>
+ <td class="ralign">{item_enqueues}</td>
+ <td class="ralign">{item_dequeues}</td>
+ <td class="ralign">{item_depth}</td>
+ <td class="ralign">{item_ratio}</td>
<td>{item_status}</td>
</tr>
Modified: mgmt/cumin/python/cumin/widgets.py
===================================================================
--- mgmt/cumin/python/cumin/widgets.py 2007-11-01 16:39:47 UTC (rev 1202)
+++ mgmt/cumin/python/cumin/widgets.py 2007-11-01 17:13:28 UTC (rev 1203)
@@ -37,6 +37,9 @@
def yes_no(predicate):
return predicate and "Yes" or "No"
+def rate(value, unit1, unit2):
+ return "%i <small>%s/%s</small>" % (value, unit1, unit2)
+
class CuminFrame(Frame, ModeSet):
def __init__(self, app, name):
super(CuminFrame, self).__init__(app, name)
Modified: mgmt/notes/justin-todo.txt
===================================================================
--- mgmt/notes/justin-todo.txt 2007-11-01 16:39:47 UTC (rev 1202)
+++ mgmt/notes/justin-todo.txt 2007-11-01 17:13:28 UTC (rev 1203)
@@ -26,6 +26,8 @@
* Restyle drop boxes to not be beveled
+ * Right align status boxes?
+
Deferred
* Make the status lights also be links to an appropriate view
17 years, 2 months
rhmessaging commits: r1202 - mgmt/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2007-11-01 12:39:47 -0400 (Thu, 01 Nov 2007)
New Revision: 1202
Modified:
mgmt/cumin/python/cumin/model.py
Log:
Adds units to more measurements.
Modified: mgmt/cumin/python/cumin/model.py
===================================================================
--- mgmt/cumin/python/cumin/model.py 2007-11-01 16:33:36 UTC (rev 1201)
+++ mgmt/cumin/python/cumin/model.py 2007-11-01 16:39:47 UTC (rev 1202)
@@ -604,17 +604,20 @@
self.name = None
measure = Measurement("msgsConsumed", "int")
- measure.title = "Messages Consumed"
+ measure.title = "Msgs. Consumed"
+ measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("bytesConsumed", "int")
measure.title = "Bytes Consumed"
+ measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
measure = Measurement("unackedMessages", "int")
- measure.title = "Unacknowledged messages"
+ measure.title = "Unacked messages"
+ measure.unit = "message"
measure.categories = ("message", "general")
measure.highlow = True
self.measurements.append(measure)
@@ -635,37 +638,44 @@
measure = Measurement("bindings", "int")
measure.title = "Bindings"
+ measure.unit = "binding"
measure.categories = ("general")
measure.highlow = True
self.measurements.append(measure)
measure = Measurement("msgReceives", "int")
- measure.title = "Messages received"
+ measure.title = "Msgs. received"
+ measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("msgDrops", "int")
- measure.title = "Messages dropped"
+ measure.title = "Msgs. dropped"
+ measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("msgRoutes", "int")
- measure.title = "Messages routed"
+ measure.title = "Msgs. routed"
+ measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("byteReceives", "int")
measure.title = "Bytes received"
+ measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
measure = Measurement("byteDrops", "int")
measure.title = "Bytes dropped"
+ measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
measure = Measurement("byteRoutes", "int")
measure.title = "Bytes routed"
+ measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
17 years, 2 months
rhmessaging commits: r1201 - in mgmt: notes and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2007-11-01 12:33:36 -0400 (Thu, 01 Nov 2007)
New Revision: 1201
Modified:
mgmt/cumin/python/cumin/measurement.py
mgmt/notes/justin-todo.txt
Log:
Style tweak.
Modified: mgmt/cumin/python/cumin/measurement.py
===================================================================
--- mgmt/cumin/python/cumin/measurement.py 2007-11-01 16:15:59 UTC (rev 1200)
+++ mgmt/cumin/python/cumin/measurement.py 2007-11-01 16:33:36 UTC (rev 1201)
@@ -34,7 +34,7 @@
def render_item_extra(self, session, measure):
if measure.highlow:
- return "<small>high</small> %i<br/><small>low</small> %i" \
+ return "<small>high</small> %i <small>low</small> %i" \
% (measure.get_high() or 0, measure.get_low() or 0)
else:
unit = self.unit_abbrevs.get(measure.unit, measure.unit)
Modified: mgmt/notes/justin-todo.txt
===================================================================
--- mgmt/notes/justin-todo.txt 2007-11-01 16:15:59 UTC (rev 1200)
+++ mgmt/notes/justin-todo.txt 2007-11-01 16:33:36 UTC (rev 1201)
@@ -12,6 +12,8 @@
- Rate of accel, decel for enq, deq
+ - Add created, deleted, updated timestamps
+
* queue: link consumers stat to consumers view
* exch: link bindings, producers stats to respective views
17 years, 2 months
rhmessaging commits: r1200 - in mgmt: notes and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2007-11-01 12:15:59 -0400 (Thu, 01 Nov 2007)
New Revision: 1200
Modified:
mgmt/cumin/python/cumin/measurement.py
mgmt/cumin/python/cumin/measurement.strings
mgmt/cumin/python/cumin/model.py
mgmt/notes/justin-todo.txt
Log:
Remodels the current stats view. Adds rates. Adds units to the
measure metadata for use in rate display. Shortens some measure names
a little.
Modified: mgmt/cumin/python/cumin/measurement.py
===================================================================
--- mgmt/cumin/python/cumin/measurement.py 2007-11-01 04:44:46 UTC (rev 1199)
+++ mgmt/cumin/python/cumin/measurement.py 2007-11-01 16:15:59 UTC (rev 1200)
@@ -8,6 +8,10 @@
strings = StringCatalog(__file__)
class MeasurementSet(ItemSet):
+ unit_abbrevs = dict()
+ unit_abbrevs["message"] = "msg"
+ unit_abbrevs["transaction"] = "trans"
+
def __init__(self, app, name, category):
super(MeasurementSet, self).__init__(app, name)
@@ -28,11 +32,13 @@
def render_item_value(self, session, measure):
return measure.get_value()
- def render_item_high(self, session, measure):
- return measure.get_high()
+ def render_item_extra(self, session, measure):
+ if measure.highlow:
+ return "<small>high</small> %i<br/><small>low</small> %i" \
+ % (measure.get_high() or 0, measure.get_low() or 0)
+ else:
+ unit = self.unit_abbrevs.get(measure.unit, measure.unit)
+ return "%i <small>%s/sec</small>" % (measure.get_rate(), unit)
- def render_item_low(self, session, measure):
- return measure.get_low()
-
def render_item_average(self, session, measure):
return "%0.2f" % (sum(measure.values) / float(len(measure.values)))
Modified: mgmt/cumin/python/cumin/measurement.strings
===================================================================
--- mgmt/cumin/python/cumin/measurement.strings 2007-11-01 04:44:46 UTC (rev 1199)
+++ mgmt/cumin/python/cumin/measurement.strings 2007-11-01 16:15:59 UTC (rev 1200)
@@ -1,24 +1,11 @@
-[MeasurementSet.css]
-table.MeasurementSet td, table.MeasurementSet th {
- text-align: right;
-}
-table.MeasurementSet th.label {
- text-align: left;
-}
[MeasurementSet.html]
-<table class="MeasurementSet mobjects">
- <col class="name"/>
- <col class="data"/>
- <col class="data"/>
- <col class="data"/>
-
+<table class="mobjects">
<tr>
- <th class="label">Statistic</th>
- <th>Current</th>
- <th>High</th>
- <th>Low</th>
+ <th style="width: 45%;">Statistic</th>
+ <th style="width: 20%;" class="ralign">Current</th>
+ <th style="width: 35%;" class="ralign"></th>
</tr>
{items}
@@ -27,7 +14,6 @@
[MeasurementSet.item_html]
<tr>
<th class="label">{item_title}</th>
- <td>{item_value}</td>
- <td>{item_high}</td>
- <td>{item_low}</td>
+ <td class="ralign">{item_value}</td>
+ <td class="ralign">{item_extra}</td>
</tr>
Modified: mgmt/cumin/python/cumin/model.py
===================================================================
--- mgmt/cumin/python/cumin/model.py 2007-11-01 04:44:46 UTC (rev 1199)
+++ mgmt/cumin/python/cumin/model.py 2007-11-01 16:15:59 UTC (rev 1200)
@@ -315,6 +315,7 @@
self.type = type
self.categories = ()
self.title = None
+ self.unit = None
self.__value = None
self.__values = list()
self.class_ = class_
@@ -327,6 +328,9 @@
self.add_value(0)
def add_value(self, value):
+ if value == None:
+ raise Exception()
+
self.__value = value
self.__values.append(value)
@@ -354,18 +358,27 @@
else:
return self.__value
+ # get recent values, with latest value at index 0
def get_values(self, limit=100):
if self.class_:
stats = self.class_.select().orderBy("recTime").reversed()
- return [getattr(x, self.name) for x in stats[:limit + 1]]
+ return [getattr(x, self.name) for x in stats[:limit]]
else:
- return self.__values
+ return self.__values[-limit:]
+ def get_rate(self, interval=10):
+ values = self.get_values(2)
+
+ if len(values) > 1 and values[0] != None:
+ return (values[0] - values[1]) / interval
+ else:
+ return 0
+
def get_high(self):
return self.__high
def get_low(self):
- return self.__low
+ return self.__low
class Queue(MeasuredModelObject):
def __init__(self, model):
@@ -388,45 +401,53 @@
# General
measure = Measurement("msgDepth", "int", MgmtQueueStats)
- measure.title = "Message depth"
+ measure.title = "Message Depth"
+ measure.unit = "message"
measure.categories = ("message", "general")
measure.highlow = True
self.measurements.append(measure)
measure = Measurement("msgTotalEnqueues", "int", MgmtQueueStats)
- measure.title = "Messages enqueued"
+ measure.title = "Msgs. enqueued"
+ measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("msgTotalDequeues", "int", MgmtQueueStats)
- measure.title = "Messages dequeued"
+ measure.title = "Msgs. dequeued"
+ measure.unit = "message"
measure.categories = ("message", "general")
self.measurements.append(measure)
measure = Measurement("byteDepth", "int", MgmtQueueStats)
measure.title = "Byte depth"
+ measure.unit = "byte"
measure.categories = ("byte", "general")
measure.highlow = True
self.measurements.append(measure)
measure = Measurement("byteTotalEnqueues", "int", MgmtQueueStats)
measure.title = "Bytes enqueued"
+ measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
measure = Measurement("byteTotalDequeues", "int", MgmtQueueStats)
measure.title = "Bytes dequeued"
+ measure.unit = "byte"
measure.categories = ("byte", "general")
self.measurements.append(measure)
measure = Measurement("consumers", "int", MgmtQueueStats)
measure.title = "Consumers"
+ measure.unit = "consumer"
measure.categories = ("general")
measure.highlow = True
self.measurements.append(measure)
measure = Measurement("unackedMessages", "int", MgmtQueueStats)
- measure.title = "Unacknowledged messages"
+ measure.title = "Unacked msgs."
+ measure.unit = "message"
measure.categories = ("general")
self.measurements.append(measure)
@@ -439,6 +460,7 @@
measure = Measurement("diskPages", "int", MgmtQueueStats)
measure.title = "Disk pages"
+ measure.unit = "page"
measure.categories = ("general")
self.measurements.append(measure)
@@ -450,63 +472,75 @@
# Transactional
measure = Measurement("msgTxEnqueues", "int", MgmtQueueStats)
- measure.title = "Messages enqueued"
+ measure.title = "Msgs. enqueued"
+ measure.unit = "message"
measure.categories = ("message", "transactional")
self.measurements.append(measure)
measure = Measurement("msgTxDequeues", "int", MgmtQueueStats)
- measure.title = "Messages dequeued"
+ measure.title = "Msgs. dequeued"
+ measure.unit = "message"
measure.categories = ("message", "transactional")
self.measurements.append(measure)
measure = Measurement("byteTxEnqueues", "int", MgmtQueueStats)
measure.title = "Bytes enqueued"
+ measure.unit = "byte"
measure.categories = ("byte", "transactional")
self.measurements.append(measure)
measure = Measurement("byteTxDequeues", "int", MgmtQueueStats)
measure.title = "Bytes dequeued"
+ measure.unit = "byte"
measure.categories = ("byte", "transactional")
self.measurements.append(measure)
measure = Measurement("enqueueTxStarts", "int", MgmtQueueStats)
measure.title = "Enq. trans. started"
+ measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("enqueueTxCommits", "int", MgmtQueueStats)
measure.title = "Enq. trans. committed"
+ measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("enqueueTxRejects", "int", MgmtQueueStats)
measure.title = "Enq. trans. rejected"
+ measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("enqueueTxCount", "int", MgmtQueueStats)
measure.title = "Enq. trans. pending"
+ measure.unit = "transaction"
measure.categories = ("transaction")
measure.highlow = True
self.measurements.append(measure)
measure = Measurement("dequeueTxStarts", "int", MgmtQueueStats)
measure.title = "Deq. trans. started"
+ measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("dequeueTxCommits", "int", MgmtQueueStats)
measure.title = "Deq. trans. committed"
+ measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("dequeueTxRejects", "int", MgmtQueueStats)
measure.title = "Deq. trans. rejected"
+ measure.unit = "transaction"
measure.categories = ("transaction")
self.measurements.append(measure)
measure = Measurement("dequeueTxCount", "int", MgmtQueueStats)
measure.title = "Deq. trans. pending"
+ measure.unit = "transaction"
measure.categories = ("transaction")
measure.highlow = True
self.measurements.append(measure)
@@ -514,22 +548,26 @@
# Persistent
measure = Measurement("msgPersistEnqueues", "int", MgmtQueueStats)
- measure.title = "Messages enqueued"
+ measure.title = "Msgs. enqueued"
+ measure.unit = "message"
measure.categories = ("message", "persistent")
self.measurements.append(measure)
measure = Measurement("msgPersistDequeues", "int", MgmtQueueStats)
- measure.title = "Messages dequeued"
+ measure.title = "Msgs. dequeued"
+ measure.unit = "message"
measure.categories = ("message", "persistent")
self.measurements.append(measure)
measure = Measurement("bytePersistEnqueues", "int", MgmtQueueStats)
measure.title = "Bytes enqueued"
+ measure.unit = "byte"
measure.categories = ("byte", "persistent")
self.measurements.append(measure)
measure = Measurement("bytePersistDequeues", "int", MgmtQueueStats)
measure.title = "Bytes dequeued"
+ measure.unit = "byte"
measure.categories = ("byte", "persistent")
self.measurements.append(measure)
Modified: mgmt/notes/justin-todo.txt
===================================================================
--- mgmt/notes/justin-todo.txt 2007-11-01 04:44:46 UTC (rev 1199)
+++ mgmt/notes/justin-todo.txt 2007-11-01 16:15:59 UTC (rev 1200)
@@ -6,8 +6,6 @@
* Queue
- - Add msg/byte enq/deq rates
-
- Split queues view into bytes and messages modes
- Add a msg enq rate msg deq rate chart
@@ -80,3 +78,5 @@
* Add a frame() accessor to Widget
+ * The * text-decoration: none rule is apparently expensive; find
+ another way
17 years, 2 months
rhmessaging commits: r1199 - in mgmt: notes and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2007-11-01 00:44:46 -0400 (Thu, 01 Nov 2007)
New Revision: 1199
Modified:
mgmt/cumin/python/cumin/broker.py
mgmt/cumin/python/cumin/broker.strings
mgmt/cumin/python/cumin/brokercluster.strings
mgmt/cumin/python/cumin/brokergroup.strings
mgmt/cumin/python/cumin/brokerprofile.strings
mgmt/cumin/python/cumin/exchange.py
mgmt/cumin/python/cumin/exchange.strings
mgmt/cumin/python/cumin/page.strings
mgmt/cumin/python/cumin/queue.py
mgmt/cumin/python/cumin/queue.strings
mgmt/cumin/python/cumin/widgets.py
mgmt/cumin/python/cumin/widgets.strings
mgmt/notes/justin-todo.txt
Log:
A bunch of changes from the last UI demo.
Queue and exchange columns reordered and renamed.
More actions from schema added.
Apply nav chevrons uniformly.
Add the durable and exclusive fields to queue.
Modified: mgmt/cumin/python/cumin/broker.py
===================================================================
--- mgmt/cumin/python/cumin/broker.py 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/broker.py 2007-11-01 04:44:46 UTC (rev 1199)
@@ -237,7 +237,6 @@
self.tabs.add_tab(self.config)
self.tabs.add_tab(self.BrokerStatsTab(app, "stats"))
self.tabs.add_tab(self.BrokerLogTab(app, "log"))
- #self.tabs.add_tab(self.BrokerVirtualHostTab(app, "vhosts"))
def show_config(self, session):
return self.tabs.show_mode(session, self.config)
Modified: mgmt/cumin/python/cumin/broker.strings
===================================================================
--- mgmt/cumin/python/cumin/broker.strings 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/broker.strings 2007-11-01 04:44:46 UTC (rev 1199)
@@ -72,8 +72,8 @@
[BrokerConfigTab.html]
<ul class="actions">
- <li><a href="">Apply Configuration to Broker</a></li>
- <li><a href="">Add Property</a></li>
+ <li><a class="nav" href="{href}">Add Property</a></li>
+ <li><a href="{href}">Apply Configuration to Broker</a></li>
</ul>
<table class="mobjects">
@@ -158,6 +158,7 @@
<th class="actions" colspan="2">
<h2>Act on This Broker:</h2>
<a href="{href}">Shutdown</a>
+ <a href="{href}">Unregister</a>
</th>
</tr>
</table>
Modified: mgmt/cumin/python/cumin/brokercluster.strings
===================================================================
--- mgmt/cumin/python/cumin/brokercluster.strings 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/brokercluster.strings 2007-11-01 04:44:46 UTC (rev 1199)
@@ -51,7 +51,16 @@
<tr>
<th class="actions" colspan="2">
<h2>Act on This Cluster:</h2>
- <a href="{href}">Shutdown</a>
+ <form class="inline" action="?" method="get">
+ <select>
+ <option>Choose Action...</option>
+ <option>Edit...</option>
+ <option>Remove</option>
+ <option>Start</option>
+ <option>Stop</option>
+ </select>
+ <button>Submit</button>
+ </form>
</th>
</tr>
</table>
Modified: mgmt/cumin/python/cumin/brokergroup.strings
===================================================================
--- mgmt/cumin/python/cumin/brokergroup.strings 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/brokergroup.strings 2007-11-01 04:44:46 UTC (rev 1199)
@@ -43,7 +43,7 @@
<tr>
<th class="actions" colspan="2">
<h2>Act on This Group:</h2>
- <a href="{edit_href}">Edit</a>
+ <a class="nav" href="{edit_href}">Edit</a>
<a href="{href}">Remove</a>
</th>
</tr>
@@ -63,7 +63,7 @@
{hidden_inputs}
</div>
<div class="foot">
- <div style="display: block; float: left;"><button>Help</button></div>
+ <a class="help action" href="{href}" target="help">Help</a>
{cancel}
{submit}
</div>
Modified: mgmt/cumin/python/cumin/brokerprofile.strings
===================================================================
--- mgmt/cumin/python/cumin/brokerprofile.strings 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/brokerprofile.strings 2007-11-01 04:44:46 UTC (rev 1199)
@@ -24,7 +24,8 @@
<tr>
<th class="actions" colspan="2">
<h2>Act on This Profile:</h2>
- <a href="{href}">Edit</a>
+ <a class="nav" href="{href}">Edit</a>
+ <a href="{href}">Remove</a>
</th>
</tr>
</table>
Modified: mgmt/cumin/python/cumin/exchange.py
===================================================================
--- mgmt/cumin/python/cumin/exchange.py 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/exchange.py 2007-11-01 04:44:46 UTC (rev 1199)
@@ -43,12 +43,11 @@
self.page().show_exchange(branch, exchange).show_view(branch)
return mlink(branch.marshal(), "Exchange", exchange.name)
- def render_item_config(self, session, exchange):
- count = len(exchange.binding_items())
- return "%i binding%s" % (count, ess(count))
+ def render_item_producers(self, session, exchange):
+ return len(exchange.producer_items())
- def render_item_status(self, session, exchange):
- return status(len(exchange.errors), len(exchange.warnings))
+ def render_item_bindings(self, session, exchange):
+ return len(exchange.binding_items())
def render_item_messages_received(self, session, exchange):
return exchange.get_measurement("msgReceives").get_value()
@@ -62,6 +61,9 @@
def render_item_bytes_routed(self, session, exchange):
return exchange.get_measurement("byteRoutes").get_value()
+ def render_item_status(self, session, exchange):
+ return status(len(exchange.errors), len(exchange.warnings))
+
class ExchangeFrame(CuminFrame):
def __init__(self, app, name):
super(ExchangeFrame, self).__init__(app, name)
@@ -110,7 +112,7 @@
class ExchangeBindingSet(ItemSet):
def render_title(self, session, exchange):
- return "Bindings (%i)" % len(exchange.binding_items())
+ return "Queue Bindings (%i)" % len(exchange.binding_items())
def get_items(self, session, exchange):
return sorted_by(exchange.binding_items(), "id")
Modified: mgmt/cumin/python/cumin/exchange.strings
===================================================================
--- mgmt/cumin/python/cumin/exchange.strings 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/exchange.strings 2007-11-01 04:44:46 UTC (rev 1199)
@@ -15,7 +15,8 @@
<table class="ExchangeSet mobjects">
<tr>
<th>Name</th>
- <th>Queue Bindings</th>
+ <th class="ralign">Producers</th>
+ <th class="ralign">Queue Bindings</th>
<th class="ralign">Msgs. Received</th>
<th class="ralign">Bytes Received</th>
<th class="ralign">Msgs. Routed</th>
@@ -29,7 +30,8 @@
[ExchangeSet.item_html]
<tr>
<td>{item_link}</a></td>
- <td>{item_config}</td>
+ <td class="ralign">{item_producers}</td>
+ <td class="ralign">{item_bindings}</td>
<td class="ralign">{item_messages_received}</td>
<td class="ralign">{item_bytes_received}</td>
<td class="ralign">{item_messages_routed}</td>
Modified: mgmt/cumin/python/cumin/page.strings
===================================================================
--- mgmt/cumin/python/cumin/page.strings 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/page.strings 2007-11-01 04:44:46 UTC (rev 1199)
@@ -210,7 +210,7 @@
margin: 0 0.5em 0 0;
}
-button, table.props th.actions a, ul.actions a {
+button, table.props th.actions a, ul.actions a, a.action {
margin: 0;
border: 1px solid #ddd;
padding: 0.25em 0.5em 0.15em 0.5em;
@@ -219,7 +219,7 @@
font-size: 0.9em;
}
-button:hover, table.props th.actions a:hover, ul.actions a:hover {
+button:hover, table.props th.actions a:hover, ul.actions a:hover, a.action:hover {
background-color: white;
}
@@ -354,10 +354,14 @@
max-width: 20em;
}
-form.mform button {
+form.mform button, form.mform a.help {
margin: 0.5em;
}
+form.mform a.help {
+ float: left;
+}
+
ul.radiotabs {
list-style: none;
margin: 0 0 1em 0;
@@ -477,6 +481,7 @@
.browser .nav h2 {
font-weight: normal;
+ font-size: 0.9em;
}
.browser .nav ul {
@@ -517,6 +522,10 @@
text-align: right;
}
+form.inline {
+ display: inline;
+}
+
[CuminPage.html]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Modified: mgmt/cumin/python/cumin/queue.py
===================================================================
--- mgmt/cumin/python/cumin/queue.py 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/queue.py 2007-11-01 04:44:46 UTC (rev 1199)
@@ -46,12 +46,11 @@
def render_item_name(self, session, queue):
return queue.name
- def render_item_config(self, session, queue):
- count = len(queue.binding_items())
- return "%i binding%s" % (count, ess(count))
+ def render_item_consumers(self, session, queue):
+ return queue.get_measurement("consumers").get_value()
- def render_item_status(self, session, queue):
- return status(len(queue.errors), len(queue.warnings))
+ def render_item_bindings(self, session, queue):
+ return len(queue.binding_items())
def render_item_message_depth(self, session, queue):
return queue.get_measurement("msgDepth").get_value()
@@ -59,8 +58,8 @@
def render_item_byte_depth(self, session, queue):
return queue.get_measurement("byteDepth").get_value()
- def render_item_consumers(self, session, queue):
- return queue.get_measurement("consumers").get_value()
+ def render_item_status(self, session, queue):
+ return status(len(queue.errors), len(queue.warnings))
class QueueFrame(CuminFrame):
def __init__(self, app, name):
@@ -112,7 +111,7 @@
self.add_child(self.tabs)
self.tabs.add_tab(QueueStatistics(app, "stats"))
- self.tabs.add_tab(ConsumerSet(app, "consumers"))
+ self.tabs.add_tab(QueueConsumerSet(app, "consumers"))
self.tabs.add_tab(QueueBindingSet(app, "bindings"))
def render_title(self, session, queue):
@@ -121,19 +120,15 @@
def render_name(self, session, queue):
return queue.name
- def render_latency_tuning(self, session, queue):
- if queue.latency_priority == "h":
- return "Lower Latency"
- elif queue.latency_priority == "m":
- return "Balanced"
- elif queue.latency_priority == "l":
- return "Higher Throughput"
- else:
- raise Exception()
+ def render_durable(self, session, queue):
+ return yes_no(queue.is_durable)
+ def render_exclusive(self, session, queue):
+ return yes_no(queue.is_exclusive)
+
class QueueBindingSet(ItemSet):
def render_title(self, session, queue):
- return "Bindings (%i)" % len(queue.binding_items())
+ return "Exchange Bindings (%i)" % len(queue.binding_items())
def get_items(self, session, queue):
return sorted_by(queue.binding_items(), "id")
@@ -389,7 +384,7 @@
return "queue.png?id=%i;m=enqueueTxCount;m=dequeueTxCount" \
% queue.id
-class ConsumerSet(ItemSet):
+class QueueConsumerSet(ItemSet):
def render_title(self, session, queue):
return "Consumers (%i)" % len(queue.consumer_items())
Modified: mgmt/cumin/python/cumin/queue.strings
===================================================================
--- mgmt/cumin/python/cumin/queue.strings 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/queue.strings 2007-11-01 04:44:46 UTC (rev 1199)
@@ -16,10 +16,10 @@
<tr>
<th><input type="checkbox"/></th>
<th>Name</th>
- <th>Exchange Bindings</th>
+ <th class="ralign">Consumers</th>
+ <th class="ralign">Exchange Bindings</th>
<th class="ralign">Msg. Depth</th>
<th class="ralign">Byte Depth</th>
- <th class="ralign">Consumers</th>
<th>Status</th>
</tr>
@@ -31,10 +31,10 @@
<tr>
<td><input type="checkbox"/></td>
<td>{item_link}</a></td>
- <td>{item_config}</td>
+ <td class="ralign">{item_consumers}</td>
+ <td class="ralign">{item_bindings}</td>
<td class="ralign">{item_message_depth}</td>
<td class="ralign">{item_byte_depth}</td>
- <td class="ralign">{item_consumers}</td>
<td>{item_status}</td>
</tr>
@@ -125,7 +125,8 @@
<table class="props">
<tr><th>Name</th><td>{name}</td></tr>
- <tr><th>Latency Tuning</th><td>{latency_tuning}</td></tr>
+ <tr><th>Durable?</th><td>{durable}</td></tr>
+ <tr><th>Exclusive?</th><td>{exclusive}</td></tr>
<tr>
<th class="actions" colspan="2">
<h2>Act on This Queue:</h2>
@@ -155,7 +156,7 @@
</tr>
[QueueBindingAdd.html]
-<form id="{id}" class="QueueBindingAdd mform" method="post" action="?">
+<form id="{id}" class="mform" method="post" action="?">
<div class="head">
<h1>{title}</h1>
</div>
@@ -171,7 +172,7 @@
{hidden_inputs}
</div>
<div class="foot">
- <div style="display: block; float: left;"><button>Help</button></div>
+ <a class="help action" href="{help_href}" target="help">Help</a>
{cancel}
{submit}
</div>
@@ -230,7 +231,7 @@
<img src="{transactions_chart_url}"/>
</div>
-[ConsumerSet.html]
+[QueueConsumerSet.html]
<div class="sactions">
<h2>Act on Selected Consumers:</h2>
<button>Start</button>
@@ -251,7 +252,7 @@
{items}
</table>
-[ConsumerSet.item_html]
+[QueueConsumerSet.item_html]
<tr>
<td><input type="checkbox"/></td>
<td>{item_name}</td>
Modified: mgmt/cumin/python/cumin/widgets.py
===================================================================
--- mgmt/cumin/python/cumin/widgets.py 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/widgets.py 2007-11-01 04:44:46 UTC (rev 1199)
@@ -34,6 +34,9 @@
return "<div class=\"statuslight %s\">%s</div>" % (class_, number)
+def yes_no(predicate):
+ return predicate and "Yes" or "No"
+
class CuminFrame(Frame, ModeSet):
def __init__(self, app, name):
super(CuminFrame, self).__init__(app, name)
@@ -109,6 +112,9 @@
def process_display(self, session, object):
pass
+ def render_help_href(self, session, object):
+ return self.render_href(self, session, object)
+
def render_cancel_content(self, session, object):
return "Cancel"
Modified: mgmt/cumin/python/cumin/widgets.strings
===================================================================
--- mgmt/cumin/python/cumin/widgets.strings 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/cumin/python/cumin/widgets.strings 2007-11-01 04:44:46 UTC (rev 1199)
@@ -1,5 +1,5 @@
[CuminConfirmForm.html]
-<form id="{id}" class="QueueForm mform" method="post" action="?">
+<form id="{id}" class="mform" method="post" action="?">
<div class="head">
<h1>{title}</h1>
</div>
@@ -12,4 +12,3 @@
<script>
wooly.doc().elem("{id}").node.elements[1].focus();
</script>
-
Modified: mgmt/notes/justin-todo.txt
===================================================================
--- mgmt/notes/justin-todo.txt 2007-10-31 17:52:33 UTC (rev 1198)
+++ mgmt/notes/justin-todo.txt 2007-11-01 04:44:46 UTC (rev 1199)
@@ -1,113 +1,82 @@
-Big picture
+Current
- * A more-or-less complete demonstration of an admin UI
+ * Brokers tab
-Higher
+ - Find/connect in bulk
-Lower
+ * Queue
- * more form inputs, non scalar ones too
+ - Add msg/byte enq/deq rates
- * Add an error banner to form
+ - Split queues view into bytes and messages modes
- * use wsgiref instead of BaseHTTPServer
+ - Add a msg enq rate msg deq rate chart
- * Make sure HTTPServer handles concurrent requests; need to look at
- documentation
+ - Rate of accel, decel for enq, deq
- - It does not, and it's not easily changed. Will need to switch to
- wsgi stuff, I believe.
+ * queue: link consumers stat to consumers view
- * Change declared charset to iso-8859???, not utf-8, since it's
- important to be honest
+ * exch: link bindings, producers stats to respective views
- * Make it a little simpler to express hrefs
+ * model: get rid of the old *_count stat fields and use the new ones
- * Make form help buttons pop up a (for now, empty) help page
+ * Add rates to stats views
- * Make item counts in tab labels a little grayer, that is, less
- intense than the name
+ * Make status boxes display stats like those from list views
- * If debug is enabled, append a comment to the response containing
- render and process traces
+ * Restyle drop boxes to not be beveled
- * Add ability to send a test message to a queue
+Deferred
- * Add favicon and a mapping in the server to serve it
+ * Make the status lights also be links to an appropriate view
- * Separate wooly stuff into its own devel subdir
+ - Defer until we know what we're going to link to
- * Consider having a cssclass set on widgets
+ * Add a CuminItemSet with add/edit/remove href parts
- * Use page attributes for session errors, redirect
+ * Rename ServerGroupType to ServerGroupCategory
- * See if we can eliminate the attr/param distinction, and use whether
- or not a param is added to a widget via add_param to do that
-
* Add a parameter that takes a modelclass
- * Servers tab
+ * Make it a little simpler to express hrefs
- - Find/connect in bulk
+ * More form inputs, non scalar ones too
- - Add an ungrouped radio button
+ * Add an error banner to form
- * Cluster
+ * Use wsgiref instead of BaseHTTPServer
- - Add remove action
+ * Make item counts in tab labels a little grayer, that is, less
+ intense than the name
- - Stop, start
+ * Add favicon and a mapping in the server to serve it
- - Display load, profiles (?)
+ * Separate wooly stuff into its own devel subdir
- * Queue
+ * Consider having a cssclass set on widgets
- - Add durable, exclusive props
+ * See if we can eliminate the attr/param distinction, and use whether
+ or not a param is added to a widget via add_param to do that
- - Make consumers the second column, after name
-
- - Add msg/byte enq/deq rates
-
- - Split queues view into bytes and messages modes
-
- - Add a msg enq rate msg deq rate chart
-
- - Rate of accel, decel for enq, deq
-
* Add group type to group add,edit
- * Add a CuminItemSet with add/edit/remove href parts
+ * Broker browser: Add an ungrouped radio button
- * Rename ServerGroupType to ServerGroupCategory
+ * Right now we're calling render_title outside of render in order to
+ produce tab labels, for instance. This is not good, especially in
+ cases where get_object is overriden and that fact is not reflected
+ in the render_title calls. Perhaps introduce a get_title to solve
+ this.
- * Add a frame() accessor to Widget
+ * Add ability to send a test message to a queue
+ * Use page attributes for session errors, redirect
+
* Add a sanity check traversal to the widget tree and to the
registered sets of widgets and parameters
- * Add more bindings to the demo data
-
- * Add producers to the default exchange
-
- * queue: link consumers stat to consumers view
-
- * exch: link bindings, producers stats to respective views
-
- * model: get rid of the old *_count stat fields and use the new ones
-
- * Add rates to stats views
-
* Right now, non cumin pages don't print their stack traces in the
log
- * Make sure nav links are so marked
+ * Add a frame() accessor to Widget
- * Make the status lights also be links to an appropriate view
-
- * Make status boxes display stats like those from list views
-
- * Right now we're calling render_title outside of render in order to
- produce tab labels, for instance. This is not good, especially in
- cases where get_object is overriden and that fact is not reflected
- in the render_title calls. Perhaps introduce a get_title to solve
- this.
17 years, 2 months