[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 00/11] simplify usage of tracepoints, and con
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v3 00/11] simplify usage of tracepoints, and connect them to logging |
Date: |
Tue, 3 Nov 2015 18:33:14 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
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 <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
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