crecord: log blocked time waiting for curses input
We want to know when we're blocked waiting for the user - log the time spent
waiting in the curses keyboard handlers
--- a/mercurial/crecord.py Wed Feb 15 13:38:00 2017 -0800
+++ b/mercurial/crecord.py Wed Feb 15 13:34:06 2017 -0800
@@ -1375,7 +1375,8 @@
pass
helpwin.refresh()
try:
- helpwin.getkey()
+ with self.ui.timeblockedsection('crecord'):
+ helpwin.getkey()
except curses.error:
pass
@@ -1392,7 +1393,8 @@
self.stdscr.refresh()
confirmwin.refresh()
try:
- response = chr(self.stdscr.getch())
+ with self.ui.timeblockedsection('crecord'):
+ response = chr(self.stdscr.getch())
except ValueError:
response = None
@@ -1412,7 +1414,8 @@
are you sure you want to review/edit and confirm the selected changes [yn]?
""")
- response = self.confirmationwindow(confirmtext)
+ with self.ui.timeblockedsection('crecord'):
+ response = self.confirmationwindow(confirmtext)
if response is None:
response = "n"
if response.lower().startswith("y"):
@@ -1655,7 +1658,8 @@
while True:
self.updatescreen()
try:
- keypressed = self.statuswin.getkey()
+ with self.ui.timeblockedsection('crecord'):
+ keypressed = self.statuswin.getkey()
if self.errorstr is not None:
self.errorstr = None
continue