[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 3/7] scripts: add a 'debug' parameter to QEMUMonitorP
From: |
Amit Shah |
Subject: |
[Qemu-devel] [PULL 3/7] scripts: add a 'debug' parameter to QEMUMonitorProtocol |
Date: |
Fri, 22 Jul 2016 13:30:49 +0530 |
From: "Daniel P. Berrange" <address@hidden>
Add a 'debug' parameter to the QEMUMonitorProtocol class
which will cause it to print out all JSON strings on
sys.stderr
Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Amit Shah <address@hidden>
---
scripts/qmp/qmp.py | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/scripts/qmp/qmp.py b/scripts/qmp/qmp.py
index 779332f..70e927e 100644
--- a/scripts/qmp/qmp.py
+++ b/scripts/qmp/qmp.py
@@ -11,6 +11,7 @@
import json
import errno
import socket
+import sys
class QMPError(Exception):
pass
@@ -25,7 +26,7 @@ class QMPTimeoutError(QMPError):
pass
class QEMUMonitorProtocol:
- def __init__(self, address, server=False):
+ def __init__(self, address, server=False, debug=False):
"""
Create a QEMUMonitorProtocol class.
@@ -39,6 +40,7 @@ class QEMUMonitorProtocol:
"""
self.__events = []
self.__address = address
+ self._debug = debug
self.__sock = self.__get_sock()
if server:
self.__sock.bind(self.__address)
@@ -68,6 +70,8 @@ class QEMUMonitorProtocol:
return
resp = json.loads(data)
if 'event' in resp:
+ if self._debug:
+ print >>sys.stderr, "QMP:<<< %s" % resp
self.__events.append(resp)
if not only_event:
continue
@@ -148,13 +152,18 @@ class QEMUMonitorProtocol:
@return QMP response as a Python dict or None if the connection has
been closed
"""
+ if self._debug:
+ print >>sys.stderr, "QMP:>>> %s" % qmp_cmd
try:
self.__sock.sendall(json.dumps(qmp_cmd))
except socket.error as err:
if err[0] == errno.EPIPE:
return
raise socket.error(err)
- return self.__json_read()
+ resp = self.__json_read()
+ if self._debug:
+ print >>sys.stderr, "QMP:<<< %s" % resp
+ return resp
def cmd(self, name, args=None, id=None):
"""
--
2.7.4
- [Qemu-devel] [PULL 0/7] migration: fix, perf testing framework, Amit Shah, 2016/07/22
- [Qemu-devel] [PULL 1/7] migration: set state to post-migrate on failure, Amit Shah, 2016/07/22
- [Qemu-devel] [PULL 2/7] scripts: add __init__.py file to scripts/qmp/, Amit Shah, 2016/07/22
- [Qemu-devel] [PULL 3/7] scripts: add a 'debug' parameter to QEMUMonitorProtocol,
Amit Shah <=
- [Qemu-devel] [PULL 4/7] scripts: refactor the VM class in iotests for reuse, Amit Shah, 2016/07/22
- [Qemu-devel] [PULL 5/7] scripts: set timeout when waiting for qemu monitor connection, Amit Shah, 2016/07/22
- [Qemu-devel] [PULL 6/7] scripts: ensure monitor socket has SO_REUSEADDR set, Amit Shah, 2016/07/22
- [Qemu-devel] [PULL 7/7] tests: introduce a framework for testing migration performance, Amit Shah, 2016/07/22
- Re: [Qemu-devel] [PULL 0/7] migration: fix, perf testing framework, Peter Maydell, 2016/07/22