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>
This commit is contained in:
parent
491e2a338f
commit
320fba2a1f
3
configure
vendored
3
configure
vendored
@ -907,7 +907,8 @@ echo " --enable-docs enable documentation build"
|
||||
echo " --disable-docs disable documentation build"
|
||||
echo " --disable-vhost-net disable 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 " Default:trace-<pid>"
|
||||
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
|
||||
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 ====
|
||||
|
||||
* info trace
|
||||
|
@ -13,12 +13,13 @@ set -f
|
||||
usage()
|
||||
{
|
||||
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.
|
||||
|
||||
Backends:
|
||||
--nop Tracing disabled
|
||||
--simple Simple built-in backend
|
||||
--stderr Stderr built-in backend
|
||||
--ust LTTng User Space Tracing backend
|
||||
--dtrace DTrace/SystemTAP backend
|
||||
|
||||
@ -236,6 +237,56 @@ linetoc_end_simple()
|
||||
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
|
||||
ust_clean_namespace() {
|
||||
cat <<EOF
|
||||
@ -546,7 +597,7 @@ targetarch=
|
||||
until [ -z "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
"--nop" | "--simple" | "--ust" | "--dtrace") backend="${1#--}" ;;
|
||||
"--nop" | "--simple" | "--stderr" | "--ust" | "--dtrace") backend="${1#--}" ;;
|
||||
|
||||
"--binary") shift ; binary="$1" ;;
|
||||
"--target-arch") shift ; targetarch="$1" ;;
|
||||
@ -557,6 +608,11 @@ do
|
||||
|
||||
"--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;;
|
||||
esac
|
||||
|
Loading…
Reference in New Issue
Block a user