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 v12:

* Fix size of event identifier in the 'simple' backend when writing traces
  (patch by Stefan Hajnoczi).

Changes in v11:

* Rebase on a4bcea3 from master.

Changes 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                   |   24 ++++
 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                        |   35 +-----
 trace/simple.h                        |    6 -
 trace/stderr.c                        |   34 +-----
 trace/stderr.h                        |   11 --
 23 files changed, 590 insertions(+), 178 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>

Reply via email to