From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43770) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sroae-0005dK-4G for qemu-devel@nongnu.org; Thu, 19 Jul 2012 07:08:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SroaU-0004os-BA for qemu-devel@nongnu.org; Thu, 19 Jul 2012 07:08:16 -0400 Received: from e28smtp08.in.ibm.com ([122.248.162.8]:35669) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SroaT-0004oR-NS for qemu-devel@nongnu.org; Thu, 19 Jul 2012 07:08:06 -0400 Received: from /spool/local by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 19 Jul 2012 16:37:59 +0530 Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q6JB7vGI4522388 for ; Thu, 19 Jul 2012 16:37:57 +0530 Received: from d28av01.in.ibm.com (loopback [127.0.0.1]) by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q6JGbSU6015366 for ; Thu, 19 Jul 2012 22:07:29 +0530 From: Harsh Prateek Bora Date: Thu, 19 Jul 2012 16:37:28 +0530 Message-Id: <1342696051-22102-1-git-send-email-harsh@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v9 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 v9: - Renamed TraceRecordHeader to TraceLogHeader as appropriate - Some more code cleanups v8: - Addressed Stefan's comment on v7 series. - Included fix suggested by Stefan to use raw malloc/free in writer thread. v7: - Introduced clear_buffer_range to reset 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-loop 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 | 90 +++++++++--- trace/simple.c | 268 ++++++++++++++++++++--------------- trace/simple.h | 39 +++-- 5 files changed, 333 insertions(+), 196 deletions(-) -- 1.7.10.4