This is an automated email from the ASF dual-hosted git repository. gmurthy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
The following commit(s) were added to refs/heads/master by this push: new 82166ab DISPATCH-1564 - Modified the way ulong is displayed on the output of qdstat. This closes #682 82166ab is described below commit 82166ab472c81adec9e73c66d744738e9f120c1c Author: Ganesh Murthy <gmur...@apache.org> AuthorDate: Wed Feb 12 12:55:45 2020 -0500 DISPATCH-1564 - Modified the way ulong is displayed on the output of qdstat. This closes #682 --- python/qpid_dispatch_internal/tools/__init__.py | 4 +- python/qpid_dispatch_internal/tools/display.py | 13 +++ tests/system_tests_console.py | 2 +- tools/qdstat.in | 107 ++++++++++++------------ 4 files changed, 69 insertions(+), 57 deletions(-) diff --git a/python/qpid_dispatch_internal/tools/__init__.py b/python/qpid_dispatch_internal/tools/__init__.py index db810c6..c9e4206 100644 --- a/python/qpid_dispatch_internal/tools/__init__.py +++ b/python/qpid_dispatch_internal/tools/__init__.py @@ -22,6 +22,6 @@ from __future__ import division from __future__ import absolute_import from __future__ import print_function -from .display import Display, Header, Sorter, YN, Commas, TimeLong, TimeShort, Sortable, BodyFormat +from .display import Display, Header, Sorter, YN, Commas, TimeLong, TimeShort, Sortable, BodyFormat, PlainNum -__all__ = ["Display", "Header", "Sorter", "YN", "Commas", "TimeLong", "TimeShort", "Sortable", "BodyFormat"] +__all__ = ["Display", "Header", "Sorter", "YN", "Commas", "TimeLong", "TimeShort", "Sortable", "BodyFormat", "PlainNum"] diff --git a/python/qpid_dispatch_internal/tools/display.py b/python/qpid_dispatch_internal/tools/display.py index 3e2d1b4..3fdd79a 100644 --- a/python/qpid_dispatch_internal/tools/display.py +++ b/python/qpid_dispatch_internal/tools/display.py @@ -68,6 +68,8 @@ class Header: TIME_SHORT = 6 DURATION = 7 COMMAS = 8 + # This is a plain number, no formatting + PLAIN_NUM = 9 def __init__(self, text, format=NONE): self.text = text @@ -85,6 +87,8 @@ class Header: return '' if self.format == Header.NONE: return value + if self.format == Header.PLAIN_NUM: + return PlainNum(value) if self.format == Header.KMG: return self.num(value) if self.format == Header.YN: @@ -127,6 +131,7 @@ class Header: return "%2.1f%c" % (fp, tag) return "%4d%c" % (value / 1000, tag) + def num(self, value): if value < 1000: return "%4d" % value @@ -138,6 +143,14 @@ class Header: value /= 1000 return self.numCell(value, 'g') +def PlainNum(value): + try: + ret_val = "%d" % value + return ret_val + except: + return "%s" % value + + class BodyFormat: """ Display body format chooses between: diff --git a/tests/system_tests_console.py b/tests/system_tests_console.py index 5d35460..df744d0 100644 --- a/tests/system_tests_console.py +++ b/tests/system_tests_console.py @@ -51,7 +51,7 @@ class ConsolePreReq(object): devnull = open(os.devnull, "w") subprocess.Popen([name], stdout=devnull, stderr=devnull).communicate() except OSError as e: - if e.errno == os.errno.ENOENT: + if errno == errno.ENOENT: return False return True diff --git a/tools/qdstat.in b/tools/qdstat.in index 2fd474c..8298079 100755 --- a/tools/qdstat.in +++ b/tools/qdstat.in @@ -34,7 +34,7 @@ from time import ctime, strftime, gmtime import qpid_dispatch_site from qpid_dispatch.management.client import Url, Node, Entity from qpid_dispatch_internal.management.qdrouter import QdSchema -from qpid_dispatch_internal.tools import Display, Header, Sorter, YN, Commas, TimeLong, TimeShort, BodyFormat +from qpid_dispatch_internal.tools import Display, Header, Sorter, YN, Commas, TimeLong, TimeShort, BodyFormat, PlainNum from qpid_dispatch_internal.tools.command import (parse_args_qdstat, main, opts_ssl_domain, opts_sasl, opts_url) @@ -326,39 +326,39 @@ class BusManager(Node): except: pass rows.append(('Area', router.area)) - rows.append(('Link Routes', router.linkRouteCount)) - rows.append(('Auto Links', router.autoLinkCount)) - rows.append(('Links', router.linkCount)) - rows.append(('Nodes', router.nodeCount)) - rows.append(('Addresses', router.addrCount)) - rows.append(('Connections', router.connectionCount)) + rows.append(('Link Routes', PlainNum(router.linkRouteCount))) + rows.append(('Auto Links', PlainNum(router.autoLinkCount))) + rows.append(('Links', PlainNum(router.linkCount))) + rows.append(('Nodes', PlainNum(router.nodeCount))) + rows.append(('Addresses', PlainNum(router.addrCount))) + rows.append(('Connections', PlainNum(router.connectionCount))) # Overall delivery related counts. # These overall statistics were introduced in 1.1 version. # Wrap these in a try except so that newer versions of qdstat works with older version of router try: - rows.append(('Presettled Count', router.presettledDeliveries)) - rows.append(('Dropped Presettled Count', router.droppedPresettledDeliveries)) - rows.append(('Accepted Count', router.acceptedDeliveries)) - rows.append(('Rejected Count', router.rejectedDeliveries)) - rows.append(('Released Count', router.releasedDeliveries)) - rows.append(('Modified Count', router.modifiedDeliveries)) + rows.append(('Presettled Count', PlainNum(router.presettledDeliveries))) + rows.append(('Dropped Presettled Count', PlainNum(router.droppedPresettledDeliveries))) + rows.append(('Accepted Count', PlainNum(router.acceptedDeliveries))) + rows.append(('Rejected Count', PlainNum(router.rejectedDeliveries))) + rows.append(('Released Count', PlainNum(router.releasedDeliveries))) + rows.append(('Modified Count', PlainNum(router.modifiedDeliveries))) try: - rows.append(('Deliveries Delayed > 1sec', router.deliveriesDelayed1Sec)) - rows.append(('Deliveries Delayed > 10sec', router.deliveriesDelayed10Sec)) - rows.append(('Deliveries Stuck > 10sec', router.deliveriesStuck)) - rows.append(('Deliveries to Fallback', router.deliveriesRedirectedToFallback)) + rows.append(('Deliveries Delayed > 1sec', PlainNum(router.deliveriesDelayed1Sec))) + rows.append(('Deliveries Delayed > 10sec', PlainNum(router.deliveriesDelayed10Sec))) + rows.append(('Deliveries Stuck > 10sec', PlainNum(router.deliveriesStuck))) + rows.append(('Deliveries to Fallback', PlainNum(router.deliveriesRedirectedToFallback))) try: - rows.append(('Links Blocked', router.linksBlocked)) + rows.append(('Links Blocked', PlainNum(router.linksBlocked))) except: pass except: pass - rows.append(('Ingress Count', router.deliveriesIngress)) - rows.append(('Egress Count', router.deliveriesEgress)) - rows.append(('Transit Count', router.deliveriesTransit)) - rows.append(('Deliveries from Route Container', router.deliveriesIngressRouteContainer)) - rows.append(('Deliveries to Route Container', router.deliveriesEgressRouteContainer)) + rows.append(('Ingress Count', PlainNum(router.deliveriesIngress))) + rows.append(('Egress Count', PlainNum(router.deliveriesEgress))) + rows.append(('Transit Count', PlainNum(router.deliveriesTransit))) + rows.append(('Deliveries from Route Container', PlainNum(router.deliveriesIngressRouteContainer))) + rows.append(('Deliveries to Route Container', PlainNum(router.deliveriesEgressRouteContainer))) except: pass @@ -377,8 +377,7 @@ class BusManager(Node): heads.append(Header("class")) heads.append(Header("addr")) heads.append(Header("phs")) - heads.append(Header("cap")) - + heads.append(Header("cap", Header.PLAIN_NUM)) rows = [] cols = ('linkType', 'linkDir', 'connectionId', 'identity', 'peer', 'owningAddr', @@ -414,26 +413,26 @@ class BusManager(Node): has_credit = True if has_priority: - heads.append(Header("pri")) - heads.append(Header("undel")) - heads.append(Header("unsett")) - heads.append(Header("deliv")) - heads.append(Header("presett")) + heads.append(Header("pri", Header.PLAIN_NUM)) + heads.append(Header("undel", Header.PLAIN_NUM)) + heads.append(Header("unsett", Header.PLAIN_NUM)) + heads.append(Header("deliv", Header.PLAIN_NUM)) + heads.append(Header("presett", Header.PLAIN_NUM)) if has_dropped_presettled_count: - heads.append(Header("psdrop")) + heads.append(Header("psdrop", Header.PLAIN_NUM)) - heads.append(Header("acc")) - heads.append(Header("rej")) - heads.append(Header("rel")) - heads.append(Header("mod")) + heads.append(Header("acc", Header.PLAIN_NUM)) + heads.append(Header("rej", Header.PLAIN_NUM)) + heads.append(Header("rel", Header.PLAIN_NUM)) + heads.append(Header("mod", Header.PLAIN_NUM)) if has_delayed: - heads.append(Header("delay")) - heads.append(Header("rate")) + heads.append(Header("delay", Header.PLAIN_NUM)) + heads.append(Header("rate", Header.PLAIN_NUM)) if has_stuck: - heads.append(Header("stuck")) + heads.append(Header("stuck", Header.PLAIN_NUM)) if has_credit: - heads.append(Header("cred")) + heads.append(Header("cred", Header.PLAIN_NUM)) heads.append(Header("blkd")) if self.opts.verbose: heads.append(Header("admin")) @@ -584,18 +583,18 @@ class BusManager(Node): row.append(addr.priority if addr.priority >= 0 else "-") if self.opts.verbose: row.append(addr.inProcess) - row.append(addr.containerCount if addr.name[0] in 'CDEF' else addr.subscriberCount) - row.append(addr.remoteCount) - row.append(addr.deliveriesIngress) - row.append(addr.deliveriesEgress) - row.append(addr.deliveriesTransit) + row.append(PlainNum(addr.containerCount) if addr.name[0] in 'CDEF' else PlainNum(addr.subscriberCount)) + row.append(PlainNum(addr.remoteCount)) + row.append(PlainNum(addr.deliveriesIngress)) + row.append(PlainNum(addr.deliveriesEgress)) + row.append(PlainNum(addr.deliveriesTransit)) try: - row.append(addr.deliveriesRedirectedToFallback) + row.append(PlainNum(addr.deliveriesRedirectedToFallback)) except: row.append("-") if self.opts.verbose: - row.append(addr.deliveriesToContainer) - row.append(addr.deliveriesFromContainer) + row.append(PlainNum(addr.deliveriesToContainer)) + row.append(PlainNum(addr.deliveriesFromContainer)) rows.append(row) title = "Router Addresses" sorter = Sorter(heads, rows, 'addr', 0, True) @@ -711,13 +710,13 @@ class BusManager(Node): for t in objects: row = [] row.append(self._identity_clean(t.identity)) - row.append(t.typeSize) - row.append(t.transferBatchSize) - row.append(t.localFreeListMax) - row.append(t.totalAllocFromHeap) - row.append(t.heldByThreads) - row.append(t.batchesRebalancedToThreads) - row.append(t.batchesRebalancedToGlobal) + row.append(PlainNum(t.typeSize)) + row.append(PlainNum(t.transferBatchSize)) + row.append(PlainNum(t.localFreeListMax)) + row.append(PlainNum(t.totalAllocFromHeap)) + row.append(PlainNum(t.heldByThreads)) + row.append(PlainNum(t.batchesRebalancedToThreads)) + row.append(PlainNum(t.batchesRebalancedToGlobal)) rows.append(row) if not rows: # router built w/o memory pools: --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org