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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Fabien Chouteau
						Fabien Chouteau