From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60341) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkKm9-0001V3-5x for qemu-devel@nongnu.org; Mon, 09 Jan 2012 14:20:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RkKm7-0001RD-Jz for qemu-devel@nongnu.org; Mon, 09 Jan 2012 14:20:57 -0500 Received: from e28smtp09.in.ibm.com ([122.248.162.9]:54801) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkKm6-0001Qs-VF for qemu-devel@nongnu.org; Mon, 09 Jan 2012 14:20:55 -0500 Received: from /spool/local by e28smtp09.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 10 Jan 2012 00:50:51 +0530 Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q09JKmoW3940570 for ; Tue, 10 Jan 2012 00:50:49 +0530 Received: from d28av04.in.ibm.com (loopback [127.0.0.1]) by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q09JKlt7012235 for ; Tue, 10 Jan 2012 06:20:48 +1100 Message-ID: <4F0B3E0E.3040505@linux.vnet.ibm.com> Date: Tue, 10 Jan 2012 00:50:46 +0530 From: Harsh Bora MIME-Version: 1.0 References: <1326123980-6038-1-git-send-email-harsh@linux.vnet.ibm.com> <20120109160105.GA2444@Krystal> In-Reply-To: <20120109160105.GA2444@Krystal> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [RFC PATCH v2 0/4] simpletrace : support var num of args and strings. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mathieu Desnoyers Cc: aneesh.kumar@linux.vnet.ibm.com, lttng-dev@lists.lttng.org, qemu-devel@nongnu.org, stefanha@linux.vnet.ibm.com, vilanova@ac.upc.edu On 01/09/2012 09:31 PM, Mathieu Desnoyers wrote: > * Harsh Prateek Bora (harsh@linux.vnet.ibm.com) wrote: >> Existing simple trace can log upto 6 args per trace event and does not >> support strings in trace record format. Introducing new trace format as >> discussed earlier on list to support variable number/size of arguments. >> (Ref: http://lists.gnu.org/archive/html/qemu-devel/2011-11/msg03426.html) >> >> Basic testing of this patch is successful. Stress testing not yet done. >> >> Apply patches, then run: >> >> make distclean >> ./configure with --enable-trace-backend=simple >> make >> sudo make install >> >> Sample tracelog showing strings support: >> [harsh@harshbora v9fs]$ scripts/simpletrace.py trace-events trace-23261 >> v9fs_version 0.000 tag=65535 id=100 msize=8192 version=9P2000.L >> v9fs_version_return 17.530 tag=65535 id=100 msize=8192 version=9P2000.L >> v9fs_attach 180.121 tag=1 id=104 fid=0 afid=18446744073709551615 >> uname=nobody aname= >> >> >> Note: LTTng ust backend is broken in upstream qemu, therefore tracetool.py >> doesnt support ust backend as of now. IIUC, ust's trace event APIs are under >> development and not yet stable. > > Hi, > > FYI, the LTTng-UST TRACEPOINT_EVENT API is very much stable as of now. > Even though we are still in LTTng-UST 2.0 prereleases, the fact that we > started the round of discussions on this API last summer makes us > confident that from this point on we should not have to change it. > > Moreover, I would like to know if the old UST 0.x (0.16 is the latest) > is broken wrt qemu, or if this is just for LTTng-2.0 UST support ? > UST 0.x instrumentation is not supposed to have broken wrt qemu. > Hi, Thanks for an early response. I had tried building with ust 0.16 and it gives compilation errors, specially for trace events with 'void' argument: CC osdep.o In file included from osdep.c:49: trace.h: In function ‘__trace_ust_slavio_misc_update_irq_raise’: trace.h:277: error: ‘void’ must be the only parameter trace.h:277: error: expected expression before ‘)’ token trace.h:277: error: too many arguments to function ‘(void (*)(void *))__tp_it_func’ trace.h: At top level: trace.h:277: error: ‘void’ must be the only parameter trace.h:277: error: ‘void’ must be the only parameter In file included from osdep.c:49: trace.h: In function ‘__trace_ust_slavio_misc_update_irq_lower’: trace.h:280: error: ‘void’ must be the only parameter trace.h:280: error: expected expression before ‘)’ token trace.h:280: error: too many arguments to function ‘(void (*)(void *))__tp_it_func’ I am not sure which interface is supposed to be used for void arguments in ust 0.16. Moreover, if ust 2.0 uses different interfaces, we might want to use the latest one. regards, Harsh > Best regards, > > Mathieu > >> >> Version History: >> >> v2: >> - Updated tracetool.py to support nop, stderr, dtrace backend >> >> v1: >> - Working protoype with tracetool.py converted only for simpletrace backend >> >> Harsh Prateek Bora (4): >> Converting tracetool.sh to tracetool.py >> Makefile and configure changes for tracetool.py >> simpletrace-v2: Handle variable number/size of elements per trace >> record. >> simpletrace.py: updated log reader script to handle new log format >> >> Makefile.objs | 6 +- >> Makefile.target | 10 +- >> configure | 4 +- >> monitor.c | 2 +- >> scripts/simpletrace.py | 110 ++++++++++- >> scripts/tracetool.py | 505 ++++++++++++++++++++++++++++++++++++++++++++++++ >> trace/simple.c | 178 ++++++----------- >> trace/simple.h | 31 +++- >> 8 files changed, 702 insertions(+), 144 deletions(-) >> create mode 100755 scripts/tracetool.py >> >