mirror of
https://github.com/haproxy/haproxy.git
synced 2026-05-20 17:05:35 -04:00
BUILD: traces: add USE_TRACE allowing to disable traces
This reduces the total code size by 6-10% and speeds up the build a bit. It can be further reduced by disabling the trace decoding code inside certain subsystems like muxes. But at least like this it will help users on small systems to reduce the footprint when not needed by explicitly passing USE_TRACE=0 (they remain enabled by default).
This commit is contained in:
parent
8dd31dcd07
commit
d142c7f421
2 changed files with 23 additions and 2 deletions
6
Makefile
6
Makefile
|
|
@ -44,6 +44,7 @@
|
|||
# USE_CLOSEFROM : enable use of closefrom() on *bsd, solaris. Automatic.
|
||||
# USE_PRCTL : enable use of prctl(). Automatic.
|
||||
# USE_PROCCTL : enable use of procctl(). Automatic.
|
||||
# USE_TRACE : enable trace subsystem. Always on.
|
||||
# USE_ZLIB : enable zlib library support and disable SLZ
|
||||
# USE_SLZ : enable slz library instead of zlib (default=enabled)
|
||||
# USE_CPU_AFFINITY : enable pinning processes to CPU on Linux. Automatic.
|
||||
|
|
@ -343,7 +344,7 @@ use_opts = USE_EPOLL USE_KQUEUE USE_NETFILTER USE_POLL \
|
|||
USE_TPROXY USE_LINUX_TPROXY USE_LINUX_CAP \
|
||||
USE_LINUX_SPLICE USE_LIBCRYPT USE_CRYPT_H USE_ENGINE \
|
||||
USE_GETADDRINFO USE_OPENSSL USE_OPENSSL_WOLFSSL USE_OPENSSL_AWSLC \
|
||||
USE_ECH \
|
||||
USE_ECH USE_TRACE \
|
||||
USE_SSL USE_LUA USE_ACCEPT4 USE_CLOSEFROM USE_ZLIB USE_SLZ \
|
||||
USE_CPU_AFFINITY USE_TFO USE_NS USE_DL USE_RT USE_LIBATOMIC \
|
||||
USE_MATH USE_DEVICEATLAS USE_51DEGREES \
|
||||
|
|
@ -366,6 +367,9 @@ $(warn_unknown_options)
|
|||
# on the make command line.
|
||||
USE_POLL = default
|
||||
|
||||
# traces are always enabled
|
||||
USE_TRACE = default
|
||||
|
||||
# SLZ is always supported unless explicitly disabled by passing USE_SLZ=""
|
||||
# or disabled by enabling ZLIB using USE_ZLIB=1
|
||||
ifeq ($(USE_ZLIB:0=),)
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
#define _TRC_LOC(f,l) __TRC_LOC(f, ":", l)
|
||||
#define __TRC_LOC(f,c,l) f c #l
|
||||
|
||||
#if defined(USE_TRACE)
|
||||
|
||||
/* truncate a macro arg list to exactly 5 args and replace missing ones with NULL.
|
||||
* The first one (a0) is always ignored.
|
||||
*/
|
||||
|
|
@ -139,8 +141,23 @@
|
|||
&trace_no_cb, ist2(_msg, _msg_len)); \
|
||||
} \
|
||||
} while (0)
|
||||
#else
|
||||
# define TRACE_ENABLED(level, mask, args...) 0
|
||||
# define TRACE(msg, mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_ERROR(msg, mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_USER(msg, mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_DATA(msg, mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_PROTO(msg, mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_STATE(msg, mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_DEVEL(msg, mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_ENTER(mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_LEAVE(mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_POINT(mask, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_PRINTF(level, args...) do { /* do nothing */ } while(0)
|
||||
# define TRACE_PRINTF_LOC(level, args...) do { /* do nothing */ } while(0)
|
||||
#endif
|
||||
|
||||
#if defined(DEBUG_DEV) || defined(DEBUG_FULL)
|
||||
#if defined (USE_TRACE) && (defined(DEBUG_DEV) || defined(DEBUG_FULL))
|
||||
# define DBG_TRACE(msg, mask, args...) TRACE(msg, mask, ##args)
|
||||
# define DBG_TRACE_ERROR(msg, mask, args...) TRACE_ERROR(msg, mask, ##args)
|
||||
# define DBG_TRACE_USER(msg, mask, args...) TRACE_USER(msg, mask, ##args)
|
||||
|
|
|
|||
Loading…
Reference in a new issue