trace: Provide a per-event status define for conditional compilation

Adds a 'TRACE_${NAME}_ENABLED' preprocessor define for each tracing event in
"trace.h".

This lets the user conditionally compile code with a relatively high execution
cost that is only necessary when producing the tracing information for an event
that is enabled.

Note that events using this define will probably have the "disable" property by
default, in order to avoid such costs on regular builds.

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
This commit is contained in:
Lluís Vilanova 2011-12-06 17:38:15 +01:00 committed by Stefan Hajnoczi
parent a348f10884
commit b7d66a761f
2 changed files with 48 additions and 7 deletions

View file

@ -519,7 +519,7 @@ linetostap_end_dtrace()
# Process stdin by calling begin, line, and end functions for the backend
convert()
{
local begin process_line end str disable
local begin process_line end str name NAME enabled
begin="lineto$1_begin_$backend"
process_line="lineto$1_$backend"
end="lineto$1_end_$backend"
@ -534,8 +534,15 @@ convert()
# Process the line. The nop backend handles disabled lines.
if has_property "$str" "disable"; then
"lineto$1_nop" "$str"
enabled=0
else
"$process_line" "$str"
enabled=1
fi
if [ "$1" = "h" ]; then
name=$(get_name "$str")
NAME=$(echo $name | tr '[:lower:]' '[:upper:]')
echo "#define TRACE_${NAME}_ENABLED ${enabled}"
fi
done