From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35561) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S73h9-0001NG-Lc for qemu-devel@nongnu.org; Mon, 12 Mar 2012 07:45:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S73h7-0001B4-MT for qemu-devel@nongnu.org; Mon, 12 Mar 2012 07:45:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43111) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S73h7-0001An-Dn for qemu-devel@nongnu.org; Mon, 12 Mar 2012 07:45:41 -0400 Message-ID: <4F5DE2B5.10401@redhat.com> Date: Mon, 12 Mar 2012 12:49:09 +0100 From: Kevin Wolf MIME-Version: 1.0 References: <1324481742-23456-1-git-send-email-stefanha@linux.vnet.ibm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] qemu-io: add option to enable tracing List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: qemu-devel@nongnu.org, Stefan Hajnoczi Am 12.03.2012 12:39, schrieb Stefan Hajnoczi: > On Wed, Dec 21, 2011 at 3:35 PM, Stefan Hajnoczi > wrote: > > Ping? Do you want to take this through the block tree? Sorry, I completely missed this one. >> It can be useful to enable QEMU tracing when trying out block layer >> interfaces via qemu-io. Tracing can be enabled using the new -t FILE >> option where the given file contains a list of trace events to enable >> (just like the qemu --trace events=FILE option). >> >> $ echo qemu_vfree >my-events >> $ ./qemu-io -t my-events ... >> >> Remember to use ./configure --enable-trace-backend=BACKEND when building >> qemu-io. >> >> Signed-off-by: Stefan Hajnoczi >> --- >> qemu-io.c | 8 +++++++- >> 1 files changed, 7 insertions(+), 1 deletions(-) >> >> diff --git a/qemu-io.c b/qemu-io.c >> index ffa62fb..ad91fd6 100644 >> --- a/qemu-io.c >> +++ b/qemu-io.c >> @@ -17,6 +17,7 @@ >> #include "qemu-common.h" >> #include "block_int.h" >> #include "cmd.h" >> +#include "trace/control.h" >> >> #define VERSION "0.0.1" >> >> @@ -1722,6 +1723,7 @@ static void usage(const char *name) >> " -g, --growable allow file to grow (only applies to protocols)\n" >> " -m, --misalign misalign allocations for O_DIRECT\n" >> " -k, --native-aio use kernel AIO implementation (on Linux only)\n" >> +" -t, --trace FILE enable trace events listed in the given file\n" >> " -h, --help display this help and exit\n" >> " -V, --version output version information and exit\n" >> "\n", >> @@ -1733,7 +1735,7 @@ int main(int argc, char **argv) >> { >> int readonly = 0; >> int growable = 0; >> - const char *sopt = "hVc:rsnmgk"; >> + const char *sopt = "hVc:rsnmgkt:"; >> const struct option lopt[] = { >> { "help", 0, NULL, 'h' }, >> { "version", 0, NULL, 'V' }, >> @@ -1745,6 +1747,7 @@ int main(int argc, char **argv) >> { "misalign", 0, NULL, 'm' }, >> { "growable", 0, NULL, 'g' }, >> { "native-aio", 0, NULL, 'k' }, >> + { "trace", 1, NULL, 't' }, >> { NULL, 0, NULL, 0 } >> }; >> int c; >> @@ -1776,6 +1779,9 @@ int main(int argc, char **argv) >> case 'k': >> flags |= BDRV_O_NATIVE_AIO; >> break; >> + case 't': >> + trace_backend_init(optarg, NULL); >> + break; vl.c checks the return value of trace_backend_init. Shouldn't we do the same here? Also, I was considering adding a -t for the cache mode (option name for consistency with qemu-img). Conversely, we'll probably want to add a tracing option to qemu-img and -t isn't available any more there. Maybe we should use a different letter? Kevin