On 03/11/2015 18:10, Stefan Hajnoczi wrote: > 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 <pbonz...@redhat.com> Signed-off-by: >> Denis V. Lunev <d...@openvz.org> >> >> 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
Thanks Denis and Stefan! I hope this will make it simpler to track user problems, and will also encourage people to use tracepoints more. Paolo