trace: Multi-backend tracing

Adds support to compile QEMU with multiple tracing backends at the same time.

For example, you can compile QEMU with:

  $ ./configure --enable-trace-backends=ftrace,dtrace

Where 'ftrace' can be handy for having an in-flight record of events, and 'dtrace' can be later used to extract more information from the system.

This patch allows having both available without recompiling QEMU.

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
Lluís Vilanova 2014-05-27 15:02:14 +02:00 committed by Stefan Hajnoczi
parent 82432638eb
commit 5b808275f3
20 changed files with 152 additions and 233 deletions

4
vl.c
View file

@ -4039,7 +4039,7 @@ int main(int argc, char **argv, char **envp)
}
if (!is_daemonized()) {
if (!trace_backend_init(trace_events, trace_file)) {
if (!trace_init_backends(trace_events, trace_file)) {
exit(1);
}
}
@ -4559,7 +4559,7 @@ int main(int argc, char **argv, char **envp)
os_setup_post();
if (is_daemonized()) {
if (!trace_backend_init(trace_events, trace_file)) {
if (!trace_init_backends(trace_events, trace_file)) {
exit(1);
}
}