[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH][RFC] New trace-event backend: stdio
From: |
Fabien Chouteau |
Subject: |
[Qemu-devel] [PATCH][RFC] New trace-event backend: stdio |
Date: |
Mon, 24 Jan 2011 18:33:06 +0100 |
This backend sends trace events to standard output during the emulation.
Signed-off-by: Fabien Chouteau <address@hidden>
---
configure | 2 +-
docs/tracing.txt | 5 +++++
scripts/tracetool | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
3 files changed, 57 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 210670c..2672f2a 100755
--- a/configure
+++ b/configure
@@ -907,7 +907,7 @@ 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 Trace backend nop simple stdio ust dtrace"
echo " --with-trace-file=NAME Full PATH,NAME of file to store traces"
echo " Default:trace-<pid>"
echo " --disable-spice disable spice"
diff --git a/docs/tracing.txt b/docs/tracing.txt
index 963c504..de033ad 100644
--- a/docs/tracing.txt
+++ b/docs/tracing.txt
@@ -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.
+=== Stdio ===
+
+The "stdio" backend sends trace events directly to standard output during
+emulation.
+
==== Monitor commands ====
* info trace
diff --git a/scripts/tracetool b/scripts/tracetool
index fce491c..01f81a1 100755
--- a/scripts/tracetool
+++ b/scripts/tracetool
@@ -19,6 +19,7 @@ Generate tracing code for a file on stdin.
Backends:
--nop Tracing disabled
--simple Simple built-in backend
+ --stdio Stdio built-in backend
--ust LTTng User Space Tracing backend
--dtrace DTrace/SystemTAP backend
@@ -236,6 +237,55 @@ linetoc_end_simple()
EOF
}
+#STDIO
+linetoh_begin_stdio()
+{
+ return
+}
+
+linetoh_stdio()
+{
+ local name args argnamess argc fmt
+ name=$(get_name "$1")
+ args=$(get_args "$1")
+ argnames=$(get_argnames "$1" ",")
+ argc=$(get_argc "$1")
+ state=$(get_state "$1")
+ fmt=$(get_fmt "$1")
+
+ if [ "$argc" -gt 0 ]; then
+ argnames=", $argnames"
+ fi
+
+ cat <<EOF
+static inline void trace_$name($args)
+{
+ printf("$name $fmt\n" $argnames);
+}
+EOF
+}
+
+linetoh_end_stdio()
+{
+return
+}
+
+linetoc_begin_stdio()
+{
+return
+}
+
+linetoc_stdio()
+{
+return
+}
+
+linetoc_end_stdio()
+{
+return
+}
+#END OF STDIO
+
# Clean up after UST headers which pollute the namespace
ust_clean_namespace() {
cat <<EOF
@@ -546,7 +596,7 @@ targetarch=
until [ -z "$1" ]
do
case "$1" in
- "--nop" | "--simple" | "--ust" | "--dtrace") backend="${1#--}" ;;
+ "--nop" | "--simple" | "--stdio" | "--ust" | "--dtrace") backend="${1#--}"
;;
"--binary") shift ; binary="$1" ;;
"--target-arch") shift ; targetarch="$1" ;;
--
1.7.1
- [Qemu-devel] [PATCH][RFC] New trace-event backend: stdio,
Fabien Chouteau <=