diff options
| author | Ted Ross <tross@apache.org> | 2008-06-02 16:01:51 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2008-06-02 16:01:51 +0000 |
| commit | 40c8b6f844ce64fc4245e5f91e6b1eaea2fc9e94 (patch) | |
| tree | 80438fbfb8739e9189fdad70d8271ae2ca8d26f4 /specs | |
| parent | e1c0b830b67e68be71e65ef18657e746ed6b971f (diff) | |
| download | qpid-python-40c8b6f844ce64fc4245e5f91e6b1eaea2fc9e94.tar.gz | |
QPID-1113 Management cleanup and performance enhancements
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662470 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'specs')
| -rw-r--r-- | specs/management-schema.xml | 311 | ||||
| -rw-r--r-- | specs/management-types.xml | 2 |
2 files changed, 131 insertions, 182 deletions
diff --git a/specs/management-schema.xml b/specs/management-schema.xml index c3fbee615f..b1472bf284 100644 --- a/specs/management-schema.xml +++ b/specs/management-schema.xml @@ -33,7 +33,7 @@ RC => Read/Create, can be set at create time only, read-only thereafter RW => Read/Write - If access rights are omitted for a configElement, they are assumed to be RO. + If access rights are omitted for a property, they are assumed to be RO. --> @@ -44,14 +44,14 @@ System =============================================================== --> - <class name="system"> - <configElement name="sysId" index="y" type="uuid" access="RC"/> + <class name="System"> + <property name="systemId" index="y" type="uuid" access="RC"/> - <configElement name="osName" type="sstr" access="RO" desc="Operating System Name"/> - <configElement name="nodeName" type="sstr" access="RO" desc="Node Name"/> - <configElement name="release" type="sstr" access="RO"/> - <configElement name="version" type="sstr" access="RO"/> - <configElement name="machine" type="sstr" access="RO"/> + <property name="osName" type="sstr" access="RO" desc="Operating System Name"/> + <property name="nodeName" type="sstr" access="RO" desc="Node Name"/> + <property name="release" type="sstr" access="RO"/> + <property name="version" type="sstr" access="RO"/> + <property name="machine" type="sstr" access="RO"/> </class> @@ -60,19 +60,19 @@ Broker =============================================================== --> - <class name="broker"> - <configElement name="systemRef" type="objId" access="RC" index="y" desc="System ID" parentRef="y"/> - <configElement name="port" type="uint16" access="RC" index="y" 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="mgmtPubInterval" type="uint16" access="RW" unit="second" min="1" desc="Interval for management broadcasts"/> - <configElement name="clusterName" type="sstr" access="RO" + <class name="Broker"> + <property name="systemRef" type="objId" references="System" access="RC" index="y" desc="System ID" parentRef="y"/> + <property name="port" type="uint16" access="RC" index="y" desc="TCP Port for AMQP Service"/> + <property name="workerThreads" type="uint16" access="RO" desc="Thread pool size"/> + <property name="maxConns" type="uint16" access="RO" desc="Maximum allowed connections"/> + <property name="connBacklog" type="uint16" access="RO" desc="Connection backlog limit for listening socket"/> + <property name="stagingThreshold" type="uint32" access="RO" desc="Broker stages messages over this size to disk"/> + <property name="mgmtPubInterval" type="uint16" access="RW" unit="second" min="1" desc="Interval for management broadcasts"/> + <property name="clusterName" type="sstr" access="RO" desc="Name of cluster this server is a member of"/> - <configElement name="version" type="sstr" access="RO" desc="Running software version"/> - <configElement name="dataDirEnabled" type="bool" access="RO" desc="Persistent configuration storage enabled"/> - <configElement name="dataDir" type="sstr" access="RO" desc="Persistent configuration storage location"/> + <property name="version" type="sstr" access="RO" desc="Running software version"/> + <property name="dataDirEnabled" type="bool" access="RO" desc="Persistent configuration storage enabled"/> + <property name="dataDir" type="sstr" access="RO" desc="Persistent configuration storage location"/> <method name="joinCluster"> <arg name="clusterName" dir="I" type="sstr"/> @@ -101,11 +101,11 @@ Management Agent =============================================================== --> - <class name="agent"> - <configElement name="sessionId" type="uuid" access="RO" index="y" desc="Session ID for Agent"/> - <configElement name="label" type="sstr" access="RO" desc="Label for agent"/> - <configElement name="registeredTo" type="objId" access="RO" desc="Broker agent is registered to"/> - <configElement name="sysId" type="uuid" access="RO" desc="Identifier of system where agent resides"/> + <class name="Agent"> + <property name="sessionId" type="uuid" access="RO" index="y" desc="Session ID for Agent"/> + <property name="label" type="sstr" access="RO" desc="Label for agent"/> + <property name="registeredTo" type="objId" references="Broker" access="RO" desc="Broker agent is registered to"/> + <property name="systemId" type="uuid" access="RO" desc="Identifier of system where agent resides"/> </class> <!-- @@ -113,9 +113,9 @@ Virtual Host =============================================================== --> - <class name="vhost"> - <configElement name="brokerRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="name" type="sstr" access="RC" index="y"/> + <class name="Vhost"> + <property name="brokerRef" type="objId" references="Broker" access="RC" index="y" parentRef="y"/> + <property name="name" type="sstr" access="RC" index="y"/> </class> <!-- @@ -123,42 +123,40 @@ Queue =============================================================== --> - <class name="queue"> - <configElement name="vhostRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="name" type="sstr" 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="arguments" type="ftable" access="RO" desc="Arguments supplied in queue.declare"/> - <configElement name="storeRef" type="objId" access="RO" desc="Reference to persistent queue (if durable)"/> - - <instElement name="msgTotalEnqueues" type="count64" unit="message" desc="Total messages enqueued"/> - <instElement name="msgTotalDequeues" type="count64" unit="message" desc="Total messages dequeued"/> - <instElement name="msgTxnEnqueues" type="count64" unit="message" desc="Transactional messages enqueued"/> - <instElement name="msgTxnDequeues" type="count64" unit="message" desc="Transactional messages dequeued"/> - <instElement name="msgPersistEnqueues" type="count64" unit="message" desc="Persistent messages enqueued"/> - <instElement name="msgPersistDequeues" type="count64" unit="message" desc="Persistent messages dequeued"/> - <instElement name="msgDepth" type="hilo32" unit="message" desc="Current size of queue in messages"/> - <instElement name="byteTotalEnqueues" type="count64" unit="octet" desc="Total messages enqueued"/> - <instElement name="byteTotalDequeues" type="count64" unit="octet" desc="Total messages dequeued"/> - <instElement name="byteTxnEnqueues" type="count64" unit="octet" desc="Transactional messages enqueued"/> - <instElement name="byteTxnDequeues" type="count64" unit="octet" desc="Transactional messages dequeued"/> - <instElement name="bytePersistEnqueues" type="count64" unit="octet" desc="Persistent messages enqueued"/> - <instElement name="bytePersistDequeues" type="count64" unit="octet" desc="Persistent messages dequeued"/> - <instElement name="byteDepth" type="hilo32" unit="octet" desc="Current size of queue in bytes"/> - <instElement name="enqueueTxnStarts" type="count64" unit="transaction" desc="Total enqueue transactions started "/> - <instElement name="enqueueTxnCommits" type="count64" unit="transaction" desc="Total enqueue transactions committed"/> - <instElement name="enqueueTxnRejects" type="count64" unit="transaction" desc="Total enqueue transactions rejected"/> - <instElement name="enqueueTxnCount" type="hilo32" unit="transaction" desc="Current pending enqueue transactions"/> - <instElement name="dequeueTxnStarts" type="count64" unit="transaction" desc="Total dequeue transactions started"/> - <instElement name="dequeueTxnCommits" type="count64" unit="transaction" desc="Total dequeue transactions committed"/> - <instElement name="dequeueTxnRejects" type="count64" unit="transaction" desc="Total dequeue transactions rejected"/> - <instElement name="dequeueTxnCount" type="hilo32" unit="transaction" desc="Current pending dequeue transactions"/> - <instElement name="consumers" type="hilo32" unit="consumer" desc="Current consumers on queue"/> - <instElement name="bindings" type="hilo32" unit="binding" desc="Current bindings"/> - <instElement name="unackedMessages" type="hilo32" unit="message" desc="Messages consumed but not yet acked"/> - <instElement name="messageLatency" type="mmaTime" unit="nanosecond" desc="Broker latency through this queue"/> + <class name="Queue"> + <property name="vhostRef" type="objId" references="Vhost" access="RC" index="y" parentRef="y"/> + <property name="name" type="sstr" access="RC" index="y"/> + + <property name="durable" type="bool" access="RC"/> + <property name="autoDelete" type="bool" access="RC"/> + <property name="exclusive" type="bool" access="RC"/> + <property name="arguments" type="ftable" access="RO" desc="Arguments supplied in queue.declare"/> + + <statistic name="msgTotalEnqueues" type="count64" unit="message" desc="Total messages enqueued"/> + <statistic name="msgTotalDequeues" type="count64" unit="message" desc="Total messages dequeued"/> + <statistic name="msgTxnEnqueues" type="count64" unit="message" desc="Transactional messages enqueued"/> + <statistic name="msgTxnDequeues" type="count64" unit="message" desc="Transactional messages dequeued"/> + <statistic name="msgPersistEnqueues" type="count64" unit="message" desc="Persistent messages enqueued"/> + <statistic name="msgPersistDequeues" type="count64" unit="message" desc="Persistent messages dequeued"/> + <statistic name="msgDepth" type="atomic32" unit="message" desc="Current size of queue in messages"/> + <statistic name="byteTotalEnqueues" type="count64" unit="octet" desc="Total messages enqueued"/> + <statistic name="byteTotalDequeues" type="count64" unit="octet" desc="Total messages dequeued"/> + <statistic name="byteTxnEnqueues" type="count64" unit="octet" desc="Transactional messages enqueued"/> + <statistic name="byteTxnDequeues" type="count64" unit="octet" desc="Transactional messages dequeued"/> + <statistic name="bytePersistEnqueues" type="count64" unit="octet" desc="Persistent messages enqueued"/> + <statistic name="bytePersistDequeues" type="count64" unit="octet" desc="Persistent messages dequeued"/> + <statistic name="enqueueTxnStarts" type="count64" unit="transaction" desc="Total enqueue transactions started "/> + <statistic name="enqueueTxnCommits" type="count64" unit="transaction" desc="Total enqueue transactions committed"/> + <statistic name="enqueueTxnRejects" type="count64" unit="transaction" desc="Total enqueue transactions rejected"/> + <statistic name="enqueueTxnCount" type="hilo32" unit="transaction" desc="Current pending enqueue transactions"/> + <statistic name="dequeueTxnStarts" type="count64" unit="transaction" desc="Total dequeue transactions started"/> + <statistic name="dequeueTxnCommits" type="count64" unit="transaction" desc="Total dequeue transactions committed"/> + <statistic name="dequeueTxnRejects" type="count64" unit="transaction" desc="Total dequeue transactions rejected"/> + <statistic name="dequeueTxnCount" type="hilo32" unit="transaction" desc="Current pending dequeue transactions"/> + <statistic name="consumerCount" type="hilo32" unit="consumer" desc="Current consumers on queue"/> + <statistic name="bindingCount" type="hilo32" unit="binding" desc="Current bindings"/> + <statistic name="unackedMessages" type="hilo32" unit="message" desc="Messages consumed but not yet acked"/> + <statistic name="messageLatency" type="mmaTime" unit="nanosecond" desc="Broker latency through this queue"/> <method name="purge" desc="Discard all messages on queue"/> </class> @@ -168,20 +166,20 @@ Exchange =============================================================== --> - <class name="exchange"> - <configElement name="vhostRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="name" type="sstr" access="RC" index="y"/> - <configElement name="type" type="sstr" access="RO"/> - <configElement name="durable" type="bool" access="RC"/> - - <instElement name="producers" type="hilo32" desc="Current producers on exchange"/> - <instElement name="bindings" type="hilo32" desc="Current bindings"/> - <instElement name="msgReceives" type="count64" desc="Total messages received"/> - <instElement name="msgDrops" type="count64" desc="Total messages dropped (no matching key)"/> - <instElement name="msgRoutes" type="count64" desc="Total routed messages"/> - <instElement name="byteReceives" type="count64" desc="Total bytes received"/> - <instElement name="byteDrops" type="count64" desc="Total bytes dropped (no matching key)"/> - <instElement name="byteRoutes" type="count64" desc="Total routed bytes"/> + <class name="Exchange"> + <property name="vhostRef" type="objId" references="Vhost" access="RC" index="y" parentRef="y"/> + <property name="name" type="sstr" access="RC" index="y"/> + <property name="type" type="sstr" access="RO"/> + <property name="durable" type="bool" access="RC"/> + + <statistic name="producerCount" type="hilo32" desc="Current producers on exchange"/> + <statistic name="bindingCount" type="hilo32" desc="Current bindings"/> + <statistic name="msgReceives" type="count64" desc="Total messages received"/> + <statistic name="msgDrops" type="count64" desc="Total messages dropped (no matching key)"/> + <statistic name="msgRoutes" type="count64" desc="Total routed messages"/> + <statistic name="byteReceives" type="count64" desc="Total bytes received"/> + <statistic name="byteDrops" type="count64" desc="Total bytes dropped (no matching key)"/> + <statistic name="byteRoutes" type="count64" desc="Total routed bytes"/> </class> <!-- @@ -189,13 +187,13 @@ Binding =============================================================== --> - <class name="binding"> - <configElement name="exchangeRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="queueRef" type="objId" access="RC" index="y"/> - <configElement name="bindingKey" type="sstr" access="RC" index="y"/> - <configElement name="arguments" type="ftable" access="RC"/> + <class name="Binding"> + <property name="exchangeRef" type="objId" references="Exchange" access="RC" index="y" parentRef="y"/> + <property name="queueRef" type="objId" references="Queue" access="RC" index="y"/> + <property name="bindingKey" type="sstr" access="RC" index="y"/> + <property name="arguments" type="ftable" access="RC"/> - <instElement name="msgMatched" type="count64"/> + <statistic name="msgMatched" type="count64"/> </class> <!-- @@ -203,17 +201,17 @@ Client =============================================================== --> - <class name="client"> - <configElement name="vhostRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="address" type="sstr" access="RC" index="y"/> - <configElement name="incoming" type="bool" access="RC"/> - - <instElement name="closing" type="bool" desc="This client is closing by management request"/> - <instElement name="authIdentity" type="sstr"/> - <instElement name="framesFromClient" type="count64"/> - <instElement name="framesToClient" type="count64"/> - <instElement name="bytesFromClient" type="count64"/> - <instElement name="bytesToClient" type="count64"/> + <class name="Connection"> + <property name="vhostRef" type="objId" references="Vhost" access="RC" index="y" parentRef="y"/> + <property name="address" type="sstr" access="RC" index="y"/> + <property name="incoming" type="bool" access="RC"/> + + <statistic name="closing" type="bool" desc="This client is closing by management request"/> + <statistic name="authIdentity" type="sstr"/> + <statistic name="framesFromClient" type="count64"/> + <statistic name="framesToClient" type="count64"/> + <statistic name="bytesFromClient" type="count64"/> + <statistic name="bytesToClient" type="count64"/> <method name="close"/> </class> @@ -223,30 +221,30 @@ Link =============================================================== --> - <class name="link"> + <class name="Link"> This class represents an inter-broker connection. - <configElement name="vhostRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="host" type="sstr" access="RC" index="y"/> - <configElement name="port" type="uint16" access="RC" index="y"/> - <configElement name="useSsl" type="bool" access="RC"/> - <configElement name="durable" type="bool" access="RC"/> + <property name="vhostRef" type="objId" references="Vhost" access="RC" index="y" parentRef="y"/> + <property name="host" type="sstr" access="RC" index="y"/> + <property name="port" type="uint16" access="RC" index="y"/> + <property name="useSsl" type="bool" access="RC"/> + <property name="durable" type="bool" access="RC"/> - <instElement name="state" type="sstr" desc="Operational state of the link"/> - <instElement name="lastError" type="sstr" desc="Reason link is not operational"/> + <statistic name="state" type="sstr" desc="Operational state of the link"/> + <statistic name="lastError" type="sstr" desc="Reason link is not operational"/> <method name="close"/> <method name="bridge" desc="Bridge messages over the link"> - <arg name="durable" dir="I" type="bool"/> - <arg name="src" dir="I" type="sstr"/> - <arg name="dest" dir="I" type="sstr"/> - <arg name="key" dir="I" type="sstr" default=""/> - <arg name="tag" dir="I" type="sstr" default=""/> - <arg name="excludes" dir="I" type="sstr" default=""/> - <arg name="src_is_queue" dir="I" type="bool" default="0"/> - <arg name="src_is_local" dir="I" type="bool" default="0"/> + <arg name="durable" dir="I" type="bool"/> + <arg name="src" dir="I" type="sstr"/> + <arg name="dest" dir="I" type="sstr"/> + <arg name="key" dir="I" type="sstr" default=""/> + <arg name="tag" dir="I" type="sstr" default=""/> + <arg name="excludes" dir="I" type="sstr" default=""/> + <arg name="srcIsQueue" dir="I" type="bool" default="0"/> + <arg name="srcIsLocal" dir="I" type="bool" default="0"/> </method> </class> @@ -256,17 +254,17 @@ Bridge =============================================================== --> - <class name="bridge"> - <configElement name="linkRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="channelId" type="uint16" access="RC" index="y"/> - <configElement name="durable" type="bool" access="RC"/> - <configElement name="src" type="sstr" access="RC"/> - <configElement name="dest" type="sstr" access="RC"/> - <configElement name="key" type="sstr" access="RC"/> - <configElement name="src_is_queue" type="bool" access="RC"/> - <configElement name="src_is_local" type="bool" access="RC"/> - <configElement name="tag" type="sstr" access="RC"/> - <configElement name="excludes" type="sstr" access="RC"/> + <class name="Bridge"> + <property name="linkRef" type="objId" references="Link" access="RC" index="y" parentRef="y"/> + <property name="channelId" type="uint16" access="RC" index="y"/> + <property name="durable" type="bool" access="RC"/> + <property name="src" type="sstr" access="RC"/> + <property name="dest" type="sstr" access="RC"/> + <property name="key" type="sstr" access="RC"/> + <property name="srcIsQueue" type="bool" access="RC"/> + <property name="srcIsLocal" type="bool" access="RC"/> + <property name="tag" type="sstr" access="RC"/> + <property name="excludes" type="sstr" access="RC"/> <method name="close"/> </class> @@ -276,72 +274,21 @@ Session =============================================================== --> - <class name="session"> - <configElement name="vhostRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="name" type="sstr" access="RC" index="y"/> - <configElement name="channelId" type="uint16" access="RO"/> - <configElement name="clientRef" type="objId" access="RO"/> - <configElement name="detachedLifespan" type="uint32" access="RO" unit="second"/> + <class name="Session"> + <property name="vhostRef" type="objId" references="Vhost" access="RC" index="y" parentRef="y"/> + <property name="name" type="sstr" access="RC" index="y"/> + <property name="channelId" type="uint16" access="RO"/> + <property name="connectionRef" type="objId" references="Connection" access="RO"/> + <property name="detachedLifespan" type="uint32" access="RO" unit="second"/> - <instElement name="attached" type="bool"/> - <instElement name="expireTime" type="absTime"/> - <instElement name="framesOutstanding" type="count32"/> + <statistic name="attached" type="bool"/> + <statistic name="expireTime" type="absTime"/> + <statistic name="framesOutstanding" type="count32"/> <method name="solicitAck"/> <method name="detach"/> <method name="resetLifespan"/> <method name="close"/> </class> - - <!-- - =============================================================== - Destination - =============================================================== - --> - <class name="destination"> - <configElement name="sessionRef" type="objId" access="RC" index="y" parentRef="y"/> - <configElement name="name" type="sstr" access="RC" index="y"/> - - <instElement name="flowMode" type="uint8"/> - <instElement name="maxMsgCredits" type="uint32"/> - <instElement name="maxByteCredits" 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"> - <arg name="strength" type="uint8" dir="I" min="0" max="10"/> - </method> - <method name="stop"/> - <method name="start"/> - </class> - - <!-- - =============================================================== - Producer - =============================================================== - --> - <class name="producer"> - <configElement name="destinationRef" access="RC" type="objId" index="y"/> - <configElement name="exchangeRef" access="RC" type="objId" index="y"/> - - <instElement name="msgsProduced" type="count64"/> - <instElement name="bytesProduced" type="count64"/> - </class> - - <!-- - =============================================================== - Consumer - =============================================================== - --> - <class name="consumer"> - <configElement name="destinationRef" access="RC" type="objId" index="y"/> - <configElement name="queueRef" access="RC" type="objId" index="y"/> - - <instElement name="msgsConsumed" type="count64"/> - <instElement name="bytesConsumed" type="count64"/> - <instElement name="unackedMessages" type="hilo32" desc="Messages consumed but not yet acked"/> - - <method name="close"/> - </class> </schema> diff --git a/specs/management-types.xml b/specs/management-types.xml index b3e08a612f..aad6b348c3 100644 --- a/specs/management-types.xml +++ b/specs/management-types.xml @@ -44,6 +44,8 @@ <type name="count32" base="U32" cpp="uint32_t" encode="@.putLong (#)" decode="# = @.getLong ()" accessor="counter" init="0"/> <type name="count64" base="U64" cpp="uint64_t" encode="@.putLongLong (#)" decode="# = @.getLongLong ()" accessor="counter" init="0"/> +<type name="atomic32" base="U32" cpp="qpid::sys::AtomicCount" encode="@.putLong(#)" decode="" accessor="counterByOne"/> + <!-- Min/Max/Average statistics --> <type name="mma32" base="U32" cpp="uint32_t" encode="@.putLong (#)" decode="# = @.getLong ()" style="mma" accessor="direct" init="0"/> <type name="mma64" base="U64" cpp="uint64_t" encode="@.putLongLong (#)" decode="# = @.getLongLong ()" style="mma" accessor="direct" init="0"/> |
