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: 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. simpletrace.py: Support for simpletrace v2 log format 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 | 112 ++++++++- scripts/tracetool | 643 ------------------------------------------------ scripts/tracetool.py | 635 +++++++++++++++++++++++++++++++++++++++++++++++ trace/simple.c | 226 ++++++++++-------- trace/simple.h | 38 +++- 10 files changed, 949 insertions(+), 797 deletions(-) delete mode 100755 scripts/tracetool create mode 100755 scripts/tracetool.py