ping Lluís Vilanova writes:
> 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> > --- > Changed in v10: > * Add suggestions by Stefan Hajnoczi: > * Merge paths in 'do_trace_event_set_state'. > * Add header guards in "trace/control-internal.h". > * Remove TODO from docs in 'trace_print_events'. > * Rename 'glob' in "trace/control.c" as 'pattern_glob'. > * Implement 'trace_event_is_pattern' in terms of 'strchr'. > Changes in v9: > * Rebase on 7cd5da7 from master. > * Change dynamic tracing state from monitor only in enabled events. > * Assert dynamic tracing state changes are performed only on enabled events. > * Split 'trace_event_set_state_dynamic' into a generic and a backend-specific > part. > Changes in v8: > * Rebase on a2685bc from master. > * Fixed typo in commit message for "trace: Provide a detailed event control > interface". > Changes in v7: > * Rebase on a8a826a from master. > * Moved compilation & code generation for "trace/" into a separate makefile. > * Renamed targets and moved rules according to the new makefile structure. > Changes in v6: > * Fixed typos in the documentation of the 'TraceEvent' struct. > 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): > trace: [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 | 3 + > docs/tracing.txt | 44 +++----- > monitor.c | 13 ++ > 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 | 22 ++-- > 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/Makefile.objs | 22 ++++ > trace/control-internal.h | 67 ++++++++++++ > trace/control.c | 106 ++++++++++++++++-- > trace/control.h | 190 > ++++++++++++++++++++++++++++++--- > trace/default.c | 5 - > trace/event-internal.h | 33 ++++++ > trace/simple.c | 32 +----- > trace/simple.h | 6 - > trace/stderr.c | 34 +----- > trace/stderr.h | 11 -- > 23 files changed, 587 insertions(+), 176 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> -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth