From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51152) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S361V-000336-9O for qemu-devel@nongnu.org; Thu, 01 Mar 2012 08:26:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S3614-0000Ui-Ac for qemu-devel@nongnu.org; Thu, 01 Mar 2012 08:26:20 -0500 Received: from e28smtp02.in.ibm.com ([122.248.162.2]:47051) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S3613-0000RR-LP for qemu-devel@nongnu.org; Thu, 01 Mar 2012 08:25:54 -0500 Received: from /spool/local by e28smtp02.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 1 Mar 2012 18:55:46 +0530 Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64]) by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q21DPfXg3981532 for ; Thu, 1 Mar 2012 18:55:42 +0530 Received: from d28av02.in.ibm.com (loopback [127.0.0.1]) by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q21DPf6U013184 for ; Fri, 2 Mar 2012 00:25:41 +1100 From: Harsh Prateek Bora Date: Thu, 1 Mar 2012 18:55:26 +0530 Message-Id: <1330608340-9515-1-git-send-email-harsh@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [RFC PATCH v5 00/14] Tracing Improvements, Simpletrace v2 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: stefanha@gmail.com, vilanova@ac.upc.edu, aneesh.kumar@linux.vnet.ibm.com This patchset introduces 2 major updates: 1) Tracetool Improvements (Conversion from shell script to python) 2) Simpletrace v2 log format (Support for variable args, strings) 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. Basic testing of new tracelog format 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: Other backends are only compile tested. Version History: v5: - trace/simple.c: Introduced new struct TraceRecordHeader for log header consistency - Addressed Stefan's review comments for scripts/simpletrace.py v4: - Addressed Stefan's review comments for tracetool, trace/simple.* - Adressed Fast producer, Slow consumer problem - Isolated tracetool python conversion patch from simpletrace v2 changes. - Included improvements and fixes from Lluis Vilanova TODO: Update simpletrace.py for simpletrace v2 log format. v3: - Added support for LTTng ust trace backend in tracetool.py 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 monitor: remove unused do_info_trace Simpletrace v2: Handle var num of args, strings. scripts/simpltrace.py changes LluĂ­s Vilanova (10): trace: [tracetool] Do not rebuild event list in backend code trace: [tracetool] Simplify event line parsing trace: [tracetool] Do not precompute the event number trace: [tracetool] Add support for event properties trace: [tracetool] Process the "disable" event property trace: [tracetool] Rewrite event argument parsing trace: [tracetool] Make format-specific code optional with access to events trace: [tracetool] Automatically establish available backends and formats trace: Provide a per-event status define for conditional compilation trace: [tracetool] Add error-reporting functions Makefile.objs | 6 +- Makefile.target | 13 +- configure | 7 +- docs/tracing.txt | 50 ++++- monitor.c | 16 -- scripts/simpletrace.py | 139 ++++++++---- scripts/tracetool | 643 ------------------------------------------------ scripts/tracetool.py | 635 +++++++++++++++++++++++++++++++++++++++++++++++ trace/simple.c | 238 ++++++++++-------- trace/simple.h | 38 +++- 10 files changed, 954 insertions(+), 831 deletions(-) delete mode 100755 scripts/tracetool create mode 100755 scripts/tracetool.py