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