usdt.h (801B)
1 /* Copyright (c) 2020, The Tor Project, Inc. */ 2 /* See LICENSE for licensing information */ 3 4 /** 5 * \file trace.h 6 * \brief Header for usdt.h 7 **/ 8 9 #ifndef TOR_TRACE_USDT_USDT_H 10 #define TOR_TRACE_USDT_USDT_H 11 12 #ifdef USE_TRACING_INSTRUMENTATION_USDT 13 14 #ifdef HAVE_SYS_SDT_H 15 #define SDT_USE_VARIADIC 16 #include <sys/sdt.h> 17 #define TOR_STAP_PROBEV STAP_PROBEV 18 #else /* defined(HAVE_SYS_SDT_H) */ 19 #define TOR_STAP_PROBEV(...) 20 #endif 21 22 /* Map events to an USDT probe. */ 23 #define TOR_TRACE_USDT(subsystem, event_name, ...) \ 24 TOR_STAP_PROBEV(subsystem, event_name, ## __VA_ARGS__); 25 26 #else /* !defined(USE_TRACING_INSTRUMENTATION_USDT) */ 27 28 /* NOP event. */ 29 #define TOR_TRACE_USDT(subsystem, event_name, ...) 30 31 #endif /* !defined(USE_TRACING_INSTRUMENTATION_USDT) */ 32 33 #endif /* !defined(TOR_TRACE_USDT_USDT_H) */