mirror of https://github.com/proxmox/mirror_qemu
New trace-event backend: stderr
This backend sends trace events to standard error output during the emulation. Also add a "--list-backends" option to tracetool, so configure script can display the list of available backends. Signed-off-by: Fabien Chouteau <chouteau@adacore.com> Acked-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>master
parent
491e2a338f
commit
320fba2a1f
|
@ -907,7 +907,8 @@ echo " --enable-docs enable documentation build"
|
||||||
echo " --disable-docs disable documentation build"
|
echo " --disable-docs disable documentation build"
|
||||||
echo " --disable-vhost-net disable vhost-net acceleration support"
|
echo " --disable-vhost-net disable vhost-net acceleration support"
|
||||||
echo " --enable-vhost-net enable vhost-net acceleration support"
|
echo " --enable-vhost-net enable vhost-net acceleration support"
|
||||||
echo " --enable-trace-backend=B Trace backend nop simple ust dtrace"
|
echo " --enable-trace-backend=B Set trace backend"
|
||||||
|
echo " Available backends:" $("$source_path"/scripts/tracetool --list-backends)
|
||||||
echo " --with-trace-file=NAME Full PATH,NAME of file to store traces"
|
echo " --with-trace-file=NAME Full PATH,NAME of file to store traces"
|
||||||
echo " Default:trace-<pid>"
|
echo " Default:trace-<pid>"
|
||||||
echo " --disable-spice disable spice"
|
echo " --disable-spice disable spice"
|
||||||
|
|
|
@ -133,6 +133,11 @@ source tree. It may not be as powerful as platform-specific or third-party
|
||||||
trace backends but it is portable. This is the recommended trace backend
|
trace backends but it is portable. This is the recommended trace backend
|
||||||
unless you have specific needs for more advanced backends.
|
unless you have specific needs for more advanced backends.
|
||||||
|
|
||||||
|
=== Stderr ===
|
||||||
|
|
||||||
|
The "stderr" backend sends trace events directly to standard error output
|
||||||
|
during emulation.
|
||||||
|
|
||||||
==== Monitor commands ====
|
==== Monitor commands ====
|
||||||
|
|
||||||
* info trace
|
* info trace
|
||||||
|
|
|
@ -13,12 +13,13 @@ set -f
|
||||||
usage()
|
usage()
|
||||||
{
|
{
|
||||||
cat >&2 <<EOF
|
cat >&2 <<EOF
|
||||||
usage: $0 [--nop | --simple | --ust] [-h | -c]
|
usage: $0 [--nop | --simple | --stderr | --ust | --dtrace] [-h | -c]
|
||||||
Generate tracing code for a file on stdin.
|
Generate tracing code for a file on stdin.
|
||||||
|
|
||||||
Backends:
|
Backends:
|
||||||
--nop Tracing disabled
|
--nop Tracing disabled
|
||||||
--simple Simple built-in backend
|
--simple Simple built-in backend
|
||||||
|
--stderr Stderr built-in backend
|
||||||
--ust LTTng User Space Tracing backend
|
--ust LTTng User Space Tracing backend
|
||||||
--dtrace DTrace/SystemTAP backend
|
--dtrace DTrace/SystemTAP backend
|
||||||
|
|
||||||
|
@ -236,6 +237,56 @@ linetoc_end_simple()
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#STDERR
|
||||||
|
linetoh_begin_stderr()
|
||||||
|
{
|
||||||
|
cat <<EOF
|
||||||
|
#include <stdio.h>
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
linetoh_stderr()
|
||||||
|
{
|
||||||
|
local name args argnames argc fmt
|
||||||
|
name=$(get_name "$1")
|
||||||
|
args=$(get_args "$1")
|
||||||
|
argnames=$(get_argnames "$1" ",")
|
||||||
|
argc=$(get_argc "$1")
|
||||||
|
fmt=$(get_fmt "$1")
|
||||||
|
|
||||||
|
if [ "$argc" -gt 0 ]; then
|
||||||
|
argnames=", $argnames"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
static inline void trace_$name($args)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "$name $fmt\n" $argnames);
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
linetoh_end_stderr()
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
linetoc_begin_stderr()
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
linetoc_stderr()
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
linetoc_end_stderr()
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
#END OF STDERR
|
||||||
|
|
||||||
# Clean up after UST headers which pollute the namespace
|
# Clean up after UST headers which pollute the namespace
|
||||||
ust_clean_namespace() {
|
ust_clean_namespace() {
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
@ -546,7 +597,7 @@ targetarch=
|
||||||
until [ -z "$1" ]
|
until [ -z "$1" ]
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
"--nop" | "--simple" | "--ust" | "--dtrace") backend="${1#--}" ;;
|
"--nop" | "--simple" | "--stderr" | "--ust" | "--dtrace") backend="${1#--}" ;;
|
||||||
|
|
||||||
"--binary") shift ; binary="$1" ;;
|
"--binary") shift ; binary="$1" ;;
|
||||||
"--target-arch") shift ; targetarch="$1" ;;
|
"--target-arch") shift ; targetarch="$1" ;;
|
||||||
|
@ -557,6 +608,11 @@ do
|
||||||
|
|
||||||
"--check-backend") exit 0 ;; # used by ./configure to test for backend
|
"--check-backend") exit 0 ;; # used by ./configure to test for backend
|
||||||
|
|
||||||
|
"--list-backends") # used by ./configure to list available backends
|
||||||
|
echo "nop simple stderr ust dtrace"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
usage;;
|
usage;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in New Issue