From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57287) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SlzIv-0007bn-D0 for qemu-devel@nongnu.org; Tue, 03 Jul 2012 05:22:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SlzIo-0004BW-KP for qemu-devel@nongnu.org; Tue, 03 Jul 2012 05:21:52 -0400 Received: from e28smtp05.in.ibm.com ([122.248.162.5]:58191) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SlzIn-00041O-VR for qemu-devel@nongnu.org; Tue, 03 Jul 2012 05:21:46 -0400 Received: from /spool/local by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 3 Jul 2012 14:51:17 +0530 Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q639LErh2818544 for ; Tue, 3 Jul 2012 14:51:14 +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 q63Ep1H4018558 for ; Wed, 4 Jul 2012 00:51:02 +1000 From: Harsh Prateek Bora Date: Tue, 3 Jul 2012 14:50:56 +0530 Message-Id: <1341307259-27262-1-git-send-email-harsh@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v7 0/3] Simpletrace v2: Support multiple args, strings. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: stefanha@gmail.com, qemu-devel@nongnu.org, stefanha@linux.vnet.ibm.com Cc: Harsh Prateek Bora Existing simpletrace backend allows to trace at max 6 args and does not support strings. This newer tracelog format gets rid of fixed size records and therefore allows to trace variable number of args including strings. Sample trace: v9fs_version 0.000 tag=0xffff id=0x64 msize=0x2000 version=9P2000.L v9fs_version_return 6.705 tag=0xffff id=0x64 msize=0x2000 version=9P2000.L v9fs_attach 174.467 tag=0x1 id=0x68 fid=0x0 afid=0xffffffffffffffff uname=nobody aname= v9fs_attach_return 4720.454 tag=0x1 id=0x68 type=0xffffffffffffff80 version=0x4f2a4dd0 path=0x220ea6 v7: - Introduced clear_buffer_range to rest buffer range after consuming record. - Introduced cap on string length using MAX_TRACE_STRLEN (currently set to 512) to avoid calculating wrong length when string length is > sizeof(uint32_t). - Reverted idx refresh back to inside while-lipp in writeout_thread. v6: - Corrected flush condition and reverted un-necessary check in get_trace_record - moved idx refresh out of while-loop in writeout_thread, see comments in code. v5: - Addressed Stefan's review comments on v4 series. - Inroduced code to handle corrupted records due to racing tracers. v4: - removed unused safe_strlen interface (missed in v3). v3: - Addressed Stefan's review comments on v2 series v2: - moved elimination of st_print_trace to 1/3 patch - use sizeof(TraceRecord) for #define ST_REC_HDR_LEN v1: - Simpletrace v2 for the new (pythonized) tracetool Harsh Prateek Bora (3): monitor: remove unused do_info_trace Simpletrace v2: Support multiple arguments, strings. Update simpletrace.py for new log format monitor.c | 16 -- scripts/simpletrace.py | 116 +++++++++------ scripts/tracetool/backend/simple.py | 84 ++++++++--- trace/simple.c | 274 +++++++++++++++++++++-------------- trace/simple.h | 40 ++++- 5 files changed, 335 insertions(+), 195 deletions(-) -- 1.7.10.4