NOTE: Not sure if compilation of files in trace/ should be moved from Makefile.objs to trace/Makefile.objs
Provides a generic event state description structure (TraceEvent) and a more detailed event control and query interface. This is achieved by creating a new "non-public" tracing backend (i.e., not selectable by the user at configure time) that will generate the appropriate event description information. Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> --- Changes in v5: * Rebase on dbaf26b3 from master. * Always initialize temporary 'ev' in 'trace_backend_init_events'. * Make common sanity checks in 'trace_event_set_state_dynamic' and delay backend-specific code to 'trace_event_set_state_dynamic_backend'. Changes in v4: * Documentation fixes and (re)formatting. Changes in v3: * Add some assertions. * Remove debugging printf's. * Improve documentation. * Make 'trace_event_get_state_static' use run-time information, and leave TRACE_*_ENABLED for compile-time checks. Changes in v2: * Minor compilation fixes. Lluís Vilanova (7): tracetool: Explicitly identify public backends trace: Provide a generic tracing event descriptor trace: Provide a detailed event control interface trace: [monitor] Use new event control interface trace: [default] Port to generic event information and new control interface trace: [simple] Port to generic event information and new control interface trace: [stderr] Port to generic event information and new control interface Makefile | 5 + Makefile.objs | 21 +++- docs/tracing.txt | 42 +++---- monitor.c | 15 ++- scripts/tracetool.py | 4 - scripts/tracetool/backend/__init__.py | 16 +++ scripts/tracetool/backend/dtrace.py | 3 + scripts/tracetool/backend/events.py | 23 ++++ scripts/tracetool/backend/simple.py | 15 +-- scripts/tracetool/backend/stderr.py | 28 ++--- scripts/tracetool/backend/ust.py | 3 + scripts/tracetool/format/events_c.py | 39 +++++++ scripts/tracetool/format/events_h.py | 50 +++++++++ scripts/tracetool/format/h.py | 9 -- trace/control-internal.h | 67 ++++++++++++ trace/control.c | 92 +++++++++++++++- trace/control.h | 189 ++++++++++++++++++++++++++++++--- trace/default.c | 5 - trace/event-internal.h | 33 ++++++ trace/simple.c | 36 +----- trace/simple.h | 6 - trace/stderr.c | 34 +----- trace/stderr.h | 11 -- 23 files changed, 576 insertions(+), 170 deletions(-) create mode 100644 scripts/tracetool/backend/events.py create mode 100644 scripts/tracetool/format/events_c.py create mode 100644 scripts/tracetool/format/events_h.py create mode 100644 trace/control-internal.h create mode 100644 trace/event-internal.h delete mode 100644 trace/stderr.h To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi <stefa...@gmail.com> Cc: Blue Swirl <blauwir...@gmail.com>