Re: [PATCH 2/2] Reduce performance cost of the trace if trace category is disabled
Am 19.11.2017 um 01:42 schrieb gennady.kupava@gmail.com:
Show 25 quoted lines
> +#define trace_printf_key(key, ...) \
> + do { \
> + if (trace_pass_fl(key)) \
> + trace_printf_key_fl(TRACE_CONTEXT, __LINE__, key, \
> + __VA_ARGS__); \
> + } while(0)
> +
> +#define trace_printf(...) trace_printf_key(&trace_default_key, __VA_ARGS__);
> +
> +#define trace_argv_printf(argv, ...) \
> + do { \
> + if (trace_pass_fl(&trace_default_key)) \
> + trace_argv_printf_fl(TRACE_CONTEXT, __LINE__, \
> + argv, __VA_ARGS__); \
> + } while(0)
> +
> +#define trace_strbuf(key, data) \
> + do { \
> + if (trace_pass_fl(key)) \
> + trace_strbuf_fl(TRACE_CONTEXT, __LINE__, key, data);\
> + } while(0)
> +
> +#define trace_performance(nanos, ...) \
> + do { \
> + if (trace_pass_fl(key)) \The token "key" here looks suspicious. Did you mean &trace_perf_key?
Show 14 quoted lines
> + trace_performance_fl(TRACE_CONTEXT, __LINE__, nanos,\
> + __VA_ARGS__); \
> + } while(0)
> +
> +#define trace_performance_since(start, ...) \
> + do { \
> + if (trace_pass_fl(&trace_perf_key)) \
> + trace_performance_fl(TRACE_CONTEXT, __LINE__, \
> + getnanotime() - (start), \
> + __VA_ARGS__); \
> + } while(0)
>
> /* backend functions, use non-*fl macros instead */
> __attribute__((format (printf, 4, 5)))