summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2012-02-17 13:52:33 +0000
committerAlan Conway <aconway@apache.org>2012-02-17 13:52:33 +0000
commitdac265b16741f5a1d952b09e2af21dccf8e649c4 (patch)
tree6b00c52980abcefa5fea6db4cc52729e4bb7a817
parent45b31ddaf3e7b354ab650c458d52aeeaee955c6b (diff)
downloadqpid-python-dac265b16741f5a1d952b09e2af21dccf8e649c4.tar.gz
Revert "QPID-3824 - Added new queue stats to qpid-stat."
This reverts r1244646. It caused two tests to fail: cluster_tests.ShortTests.test_amqfailover_visible ................................... fail FAIL: run_cluster_tests FAIL: sasl_fed git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1245450 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-xtools/src/py/qpid-stat95
-rw-r--r--tools/src/py/qpidtoollibs/disp.py5
2 files changed, 20 insertions, 80 deletions
diff --git a/tools/src/py/qpid-stat b/tools/src/py/qpid-stat
index 26670b9cdf..bb094554e6 100755
--- a/tools/src/py/qpid-stat
+++ b/tools/src/py/qpid-stat
@@ -42,6 +42,7 @@ class Config:
self._limit = 50
self._increasing = False
self._sortcol = None
+ self._details = None
self._sasl_mechanism = None
config = Config()
@@ -51,19 +52,16 @@ def OptionsAndArguments(argv):
global config
- parser = OptionParser(usage="usage: %prog [options] -[gcequm] [object-name]")
+ parser = OptionParser(usage="usage: %prog [options] BROKER",
+ description="Example: $ qpid-stat -q broker-host:10000")
group1 = OptionGroup(parser, "General Options")
- group1.add_option("-b", "--broker", action="store", type="string", default="localhost", metavar="<url>",
- help="URL of the broker to query")
- group1.add_option("-t", "--timeout", action="store", type="int", default=10, metavar="<secs>",
- help="Maximum time to wait for broker connection (in seconds)")
- group1.add_option("--sasl-mechanism", action="store", type="string", metavar="<mech>",
- help="SASL mechanism for authentication (e.g. EXTERNAL, ANONYMOUS, PLAIN, CRAM-MD, DIGEST-MD5, GSSAPI). SASL automatically picks the most secure available mechanism - use this option to override.")
+ group1.add_option("-t", "--timeout", action="store", type="int", default=10, metavar="<secs>", help="Maximum time to wait for broker connection (in seconds)")
+ group1.add_option("--sasl-mechanism", action="store", type="string", metavar="<mech>", help="SASL mechanism for authentication (e.g. EXTERNAL, ANONYMOUS, PLAIN, CRAM-MD, DIGEST-MD5, GSSAPI). SASL automatically picks the most secure available mechanism - use this option to override.")
parser.add_option_group(group1)
group2 = OptionGroup(parser, "Display Options")
- group2.add_option("-g", "--general", help="Show General Broker Stats", action="store_const", const="g", dest="show")
+ group2.add_option("-b", "--broker", help="Show Brokers", action="store_const", const="b", dest="show")
group2.add_option("-c", "--connections", help="Show Connections", action="store_const", const="c", dest="show")
group2.add_option("-e", "--exchanges", help="Show Exchanges", action="store_const", const="e", dest="show")
group2.add_option("-q", "--queues", help="Show Queues", action="store_const", const="q", dest="show")
@@ -72,21 +70,24 @@ def OptionsAndArguments(argv):
group2.add_option("-S", "--sort-by", metavar="<colname>", help="Sort by column name")
group2.add_option("-I", "--increasing", action="store_true", default=False, help="Sort by increasing value (default = decreasing)")
group2.add_option("-L", "--limit", type="int", default=50, metavar="<n>", help="Limit output to n rows")
-
+ group2.add_option("-D", "--details", action="store", metavar="<name>", dest="detail", default=None, help="Display details on a single object.")
parser.add_option_group(group2)
opts, args = parser.parse_args(args=argv)
if not opts.show:
- parser.error("You must specify one of these options: -g, -c, -e, -q, -m, or -u. For details, try $ qpid-stat --help")
+ parser.error("You must specify one of these options: -b, -c, -e, -q. or -u. For details, try $ qpid-stat --help")
config._types = opts.show
config._sortcol = opts.sort_by
- config._host = opts.broker
config._connTimeout = opts.timeout
config._increasing = opts.increasing
config._limit = opts.limit
config._sasl_mechanism = opts.sasl_mechanism
+ config._detail = opts.detail
+
+ if args:
+ config._host = args[0]
return args
@@ -340,65 +341,9 @@ class BrokerManager:
dispRows = rows
disp.formattedTable(title, heads, dispRows)
-
- def displayQueue(self, subs, name):
- queue = self.brokers[0].getQueue(name)
- if not queue:
- print "Queue '%s' not found" % name
- return
-
+ def displayQueue(self, subs):
disp = Display(prefix=" ")
heads = []
- heads.append(Header('Name'))
- heads.append(Header('Durable', Header.YN))
- heads.append(Header('AutoDelete', Header.YN))
- heads.append(Header('Exclusive', Header.YN))
- heads.append(Header('FlowStopped', Header.YN))
- heads.append(Header('FlowStoppedCount', Header.COMMAS))
- heads.append(Header('Consumers', Header.COMMAS))
- heads.append(Header('Bindings', Header.COMMAS))
- rows = []
- rows.append([queue.name, queue.durable, queue.autoDelete, queue.exclusive,
- queue.flowStopped, queue.flowStoppedCount,
- queue.consumerCount, queue.bindingCount])
- disp.formattedTable("Properties:", heads, rows)
- print
-
- heads = []
- heads.append(Header('Property'))
- heads.append(Header('Value'))
- rows = []
- rows.append(['arguments', queue.arguments])
- rows.append(['alt-exchange', queue.altExchange])
- disp.formattedTable("Optional Properties:", heads, rows)
- print
-
- heads = []
- heads.append(Header('Statistic'))
- heads.append(Header('Messages', Header.COMMAS))
- heads.append(Header('Bytes', Header.COMMAS))
- rows = []
- rows.append(['queue-depth', queue.msgDepth, queue.byteDepth])
- rows.append(['total-enqueues', queue.msgTotalEnqueues, queue.byteTotalEnqueues])
- rows.append(['total-dequeues', queue.msgTotalDequeues, queue.byteTotalDequeues])
- rows.append(['persistent-enqueues', queue.msgPersistEnqueues, queue.bytePersistEnqueues])
- rows.append(['persistent-dequeues', queue.msgPersistDequeues, queue.bytePersistDequeues])
- rows.append(['transactional-enqueues', queue.msgTxnEnqueues, queue.byteTxnEnqueues])
- rows.append(['transactional-dequeues', queue.msgTxnDequeues, queue.byteTxnDequeues])
- rows.append(['flow-to-disk-depth', queue.msgFtdDepth, queue.byteFtdDepth])
- rows.append(['flow-to-disk-enqueues', queue.msgFtdEnqueues, queue.byteFtdEnqueues])
- rows.append(['flow-to-disk-dequeues', queue.msgFtdDequeues, queue.byteFtdDequeues])
- rows.append(['acquires', queue.acquires, None])
- rows.append(['releases', queue.releases, None])
- rows.append(['discards-ttl-expired', queue.discardsTtl, None])
- rows.append(['discards-limit-overflow', queue.discardsOverflow, None])
- rows.append(['discards-ring-overflow', queue.discardsRing, None])
- rows.append(['discards-lvq-replace', queue.discardsLvq, None])
- rows.append(['discards-subscriber-reject', queue.discardsSubscriber, None])
- rows.append(['discards-purged', queue.discardsPurge, None])
- rows.append(['reroutes', queue.reroutes, None])
- disp.formattedTable("Statistics:", heads, rows)
-
def displaySubscriptions(self, subs):
disp = Display(prefix=" ")
@@ -481,21 +426,21 @@ class BrokerManager:
cmap[c.address] = c
return cmap
- def displayMain(self, names, main, subs):
- if main == 'g': self.displayBroker(subs)
+ def displayMain(self, main, subs):
+ if main == 'b': self.displayBroker(subs)
elif main == 'c': self.displayConn(subs)
elif main == 's': self.displaySession(subs)
elif main == 'e': self.displayExchange(subs)
elif main == 'q':
- if len(names) >= 1:
- self.displayQueue(subs, names[0])
+ if config._detail:
+ self.displayQueue(subs, config._detail)
else:
self.displayQueues(subs)
elif main == 'u': self.displaySubscriptions(subs)
elif main == 'm': self.displayMemory(subs)
- def display(self, names):
- self.displayMain(names, config._types[0], config._types[1:])
+ def display(self):
+ self.displayMain(config._types[0], config._types[1:])
def main(argv=None):
@@ -505,7 +450,7 @@ def main(argv=None):
try:
bm.SetBroker(config._host, config._sasl_mechanism)
- bm.display(args)
+ bm.display()
bm.Disconnect()
return 0
except KeyboardInterrupt:
diff --git a/tools/src/py/qpidtoollibs/disp.py b/tools/src/py/qpidtoollibs/disp.py
index 7962a13329..cb7d3da306 100644
--- a/tools/src/py/qpidtoollibs/disp.py
+++ b/tools/src/py/qpidtoollibs/disp.py
@@ -206,11 +206,6 @@ class Display:
result += "%ds" % (sec % 60)
return result
- def YN(self, val):
- if val:
- return 'Y'
- return 'N'
-
class Sortable:
""" """
def __init__(self, row, sortIndex):