On Thu, Aug 25, 2011 at 09:18:24PM +0200, Lluís wrote: > The current interface is generic for this small set of operations, and thus > other backends can easily modify the "trace/control.c" file to add their own > implementation. > > Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> > --- > docs/tracing.txt | 39 +++++++++++++++++++++------------------ > hmp-commands.hx | 7 +++++-- > monitor.c | 9 +++++---- > 3 files changed, 31 insertions(+), 24 deletions(-) > > diff --git a/docs/tracing.txt b/docs/tracing.txt > index 1ad106a..017ff59 100644 > --- a/docs/tracing.txt > +++ b/docs/tracing.txt > @@ -108,6 +108,27 @@ portability macros, ensure they are preceded and > followed by double quotes: > of trace events. Marking trace events disabled by default saves the user > from having to manually disable noisy trace events. > > +== Generic interface and monitor commands == > + > +You can programmatically query and control the dynamic state of trace events > +through a backend-agnostic interface: > + > +* trace_print_events > + > +* trace_event_set_state > + > +Note that some of the backends do not provide and implementation for this
s/and/an/ > +interface, in which case QEMU will just print a warning. > + > +This functionality is also provided through monitor commands: > + > +* info trace-events > + View available trace events and their state. State 1 means enabled, state > 0 > + means disabled. > + > +* trace-event NAME on|off > + Enable/disable a given trace event. > + > == Trace backends == > > The "tracetool" script automates tedious trace event code generation and also > @@ -157,27 +178,9 @@ unless you have specific needs for more advanced > backends. > flushed and emptied. This means the 'info trace' will display few or no > entries if the buffer has just been flushed. > > -* info trace-events > - View available trace events and their state. State 1 means enabled, state > 0 > - means disabled. > - > -* trace-event NAME on|off > - Enable/disable a given trace event. > - > * trace-file on|off|flush|set <path> > Enable/disable/flush the trace file or set the trace file name. > > -==== Enabling/disabling trace events programmatically ==== > - > -The st_change_trace_event_state() function can be used to enable or disable > trace > -events at runtime inside QEMU: > - > - #include "trace.h" > - > - st_change_trace_event_state("virtio_irq", true); /* enable */ > - [...] > - st_change_trace_event_state("virtio_irq", false); /* disable */ > - Please update and move this example to where trace_event_set_state() is documented. Having an example makes it clear what this function does. Stefan