On Thu, Oct 29, 2015 at 11:44:06PM +0300, Denis V. Lunev wrote:
This series does three things:
1) add a "-trace [enable=]foo" option to enable one or more
trace events, and a "-trace help" option to show the list of
tracepoints (patches 4-5)
2) change the stderr tracing backend so that it prints to the -D
log file, and enable it by default. "-trace file=..." is now a
synonym of -D if the log backend is enabled (patches 7-8)
3) add a "-d trace:foo" option that is a synonym for "-trace
foo"; this makes the new functionality more discoverable to
people used to "-d", makes it available for user-mode emulation
(which does not have -trace), and is somewhat nice if you want to
enable both tracepoints and some other "-d" flag (patch 9). When
globbing it is also less susceptible to unwanted shell
expansion.
For example, you can trace block device I/O and save the result
to a file just by adding "-trace bdrv_aio_*,file=trace.txt", or
correlate it to guest PCs with "-d
exec,nochain,trace:bdrv_aio_*".
Opinions? I would like to have this in 2.5 if there is
agreement.
Signed-off-by: Paolo Bonzini <address@hidden> Signed-off-by:
Denis V. Lunev <address@hidden>
Changes from v2: - compilation fix was extended to patch 2 and 3
- replaced Reviewed-by with Acked-by by request from Christian
Changes from v1: - small cleanup to vl.c is added as patch (4) -
compilation is fixed in patch (2) - moved qemu-log.c to
util/log.c to fix linking of qemu-io/qemu-nbd
Denis V. Lunev (2): trace: no need to call trace_backend_init in
different branches now log: move qemu-log.c into util/ directory
Paolo Bonzini (9): trace: fix documentation trace: split
trace_init_events out of trace_init_backends trace: split
trace_init_file out of trace_init_backends trace: add "-trace
enable=..." trace: add "-trace help" log: do not unnecessarily
include qom/cpu.h trace: convert stderr backend to log trace:
switch default backend to "log" log: add "-d trace:PATTERN"
Makefile.objs | 1 -
bsd-user/main.c | 1 + configure
| 6 +- cpu-exec.c | 1 +
exec.c | 1 +
hw/acpi/cpu_hotplug.c | 1 +
hw/timer/a9gtimer.c | 1 +
include/exec/log.h | 60
++++++++++++++++ include/qemu/log.h
| 60 +--------------- linux-user/main.c
| 1 + qemu-io.c | 2 +-
qemu-options.hx | 22 ++++--
qom/cpu.c | 1 +
scripts/tracetool/backend/{stderr.py => log.py} | 9 +--
target-alpha/translate.c | 1 +
target-arm/translate.c | 1 +
target-cris/translate.c | 1 +
target-i386/seg_helper.c | 1 +
target-i386/smm_helper.c | 1 +
target-i386/translate.c | 1 +
target-lm32/helper.c | 1 +
target-lm32/translate.c | 1 +
target-m68k/translate.c | 1 +
target-microblaze/helper.c | 1 +
target-microblaze/translate.c | 1 +
target-mips/helper.c | 1 +
target-mips/translate.c | 1 +
target-moxie/translate.c | 1 +
target-openrisc/translate.c | 1 +
target-ppc/mmu-hash32.c | 1 +
target-ppc/mmu-hash64.c | 1 +
target-ppc/mmu_helper.c | 1 +
target-ppc/translate.c | 1 +
target-s390x/translate.c | 1 +
target-sh4/helper.c | 1 +
target-sh4/translate.c | 1 +
target-sparc/int32_helper.c | 1 +
target-sparc/int64_helper.c | 1 +
target-sparc/translate.c | 1 +
target-tilegx/translate.c | 1 +
target-tricore/translate.c | 1 +
target-unicore32/translate.c | 1 +
target-xtensa/translate.c | 1 + tcg/tcg.c
| 1 + trace/control.c | 95
++++++++++++++++++------- trace/control.h
| 42 ++++++++++- trace/simple.c
| 6 +- trace/simple.h | 4 +-
translate-all.c | 1 +
util/Makefile.objs | 1 + qemu-log.c
=> util/log.c | 19 ++++- vl.c
| 38 +++++----- 52 files changed, 274 insertions(+), 129
deletions(-) create mode 100644 include/exec/log.h rename
scripts/tracetool/backend/{stderr.py => log.py} (78%) rename
qemu-log.c => util/log.c (90%)
-- 2.1.4
Thanks, applied to my tracing tree:
https://github.com/stefanha/qemu/commits/tracing