You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ch...@apache.org on 2019/01/11 14:49:47 UTC
[qpid-dispatch] branch master updated: DISPATCH-1242: Scraper
identifies incomplete multi-transfer deliveries
This is an automated email from the ASF dual-hosted git repository.
chug 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 9d30818 DISPATCH-1242: Scraper identifies incomplete multi-transfer deliveries
9d30818 is described below
commit 9d3081872ae8c0773f9ac6abaf01481db0ff5f82
Author: Chuck Rolke <ch...@apache.org>
AuthorDate: Fri Jan 11 09:49:31 2019 -0500
DISPATCH-1242: Scraper identifies incomplete multi-transfer deliveries
---
tools/scraper/amqp_detail.py | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/tools/scraper/amqp_detail.py b/tools/scraper/amqp_detail.py
index 30b23a5..36898bd 100755
--- a/tools/scraper/amqp_detail.py
+++ b/tools/scraper/amqp_detail.py
@@ -63,6 +63,7 @@ class Counts():
# interesting transfers
self.aborted = 0
self.more = 0
+ self.incomplete = 0
# link drained
self.drain = 0
# link out of credit
@@ -103,6 +104,7 @@ class Counts():
res += self.highlight("modified", self.modified, common.color_of("modified"))
res += self.highlight("aborted", self.aborted, common.color_of("aborted"))
res += self.highlight("more", self.more, common.color_of("more"))
+ res += self.highlight("incomplete", self.incomplete, common.color_of("unsettled"))
res += self.highlight("drain", self.drain, common.color_of("drain"))
res += self.highlight_duration("initial", self.initial_no_credit_duration, common.color_of("no_credit"))
res += self.highlight("no_credit", self.no_credit, common.color_of("no_credit"))
@@ -114,7 +116,7 @@ class Counts():
def show_table_heads1(cls):
return "<th rowspan=\"2\"><span title=\"AMQP errors\">ERR</span></th>" \
"<th colspan=\"6\">Settlement - disposition</th>" \
- "<th colspan=\"2\">Transfer</th>" \
+ "<th colspan=\"3\">Transfer</th>" \
"<th>Flow</th>" \
"<th colspan=\"4\">Credit starvation</th>"
@@ -128,6 +130,7 @@ class Counts():
"<th><span title=\"Disposition: modified\">MDFD</span></th>" \
"<th><span title=\"Transfer abort=true\">ABRT</span></th>" \
"<th><span title=\"Transfer: more=true\">MOR</span></th>" \
+ "<th><span title=\"Transfer: incomplete; all frames had more=true\">INC</span></th>" \
"<th><span title=\"Flow: drain=true\">DRN</span></th>" \
"<th><span title=\"Initial stall (S)\">initial (S)</span></th>" \
"<th><span title=\"Credit exhausted\">-> 0</span></th>" \
@@ -156,6 +159,7 @@ class Counts():
res += self.show_table_element("modified", self.modified, common.color_of("modified"))
res += self.show_table_element("aborted", self.aborted, common.color_of("aborted"))
res += self.show_table_element("more", self.more, common.color_of("more"))
+ res += self.show_table_element("incomplete", self.incomplete, common.color_of("unsettled"))
res += self.show_table_element("drain", self.drain, common.color_of("drain"))
res += self.show_table_duration(self.initial_no_credit_duration)
res += self.show_table_element("no_credit", self.no_credit, common.color_of("no_credit"))
@@ -778,6 +782,7 @@ class AllDetails():
delivery_limit = 0 # first unreachable delivery id from flow
n_attaches = 0
tod_of_second_attach = None
+ multiframe_in_progress = False
init_stall = True
credit_stall = False
tod_of_no_credit = None
@@ -858,8 +863,10 @@ class AllDetails():
tod_of_no_credit = plf.datetime
else:
pass # still have credit
+ multiframe_in_progress = False
else:
- pass # transfers with 'more' set don't consume credit
+ # transfers with 'more' set don't consume credit
+ multiframe_in_progress = True
else:
pass # transfer in wrong direction??
@@ -894,6 +901,12 @@ class AllDetails():
sess.counts.no_credit_duration += dur
conn_detail.counts.no_credit_duration += dur
+ # record multiframe transfer that didn't complete
+ if multiframe_in_progress:
+ link.counts.incomplete += 1
+ sess.counts.incomplete += 1
+ conn_detail.counts.incomplete += 1
+
def show_html(self):
for conn in self.rtr.conn_list:
id = self.rtr.conn_id(conn)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org