debug.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* For debugging general purposes */
  2. #ifndef __PERF_DEBUG_H
  3. #define __PERF_DEBUG_H
  4. #include <stdbool.h>
  5. #include <string.h>
  6. #include "event.h"
  7. #include "../ui/helpline.h"
  8. #include "../ui/progress.h"
  9. #include "../ui/util.h"
  10. extern int verbose;
  11. extern bool quiet, dump_trace;
  12. extern int debug_ordered_events;
  13. extern int debug_data_convert;
  14. #ifndef pr_fmt
  15. #define pr_fmt(fmt) fmt
  16. #endif
  17. #define pr_err(fmt, ...) \
  18. eprintf(0, verbose, pr_fmt(fmt), ##__VA_ARGS__)
  19. #define pr_warning(fmt, ...) \
  20. eprintf(0, verbose, pr_fmt(fmt), ##__VA_ARGS__)
  21. #define pr_info(fmt, ...) \
  22. eprintf(0, verbose, pr_fmt(fmt), ##__VA_ARGS__)
  23. #define pr_debug(fmt, ...) \
  24. eprintf(1, verbose, pr_fmt(fmt), ##__VA_ARGS__)
  25. #define pr_debugN(n, fmt, ...) \
  26. eprintf(n, verbose, pr_fmt(fmt), ##__VA_ARGS__)
  27. #define pr_debug2(fmt, ...) pr_debugN(2, pr_fmt(fmt), ##__VA_ARGS__)
  28. #define pr_debug3(fmt, ...) pr_debugN(3, pr_fmt(fmt), ##__VA_ARGS__)
  29. #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__)
  30. #define pr_time_N(n, var, t, fmt, ...) \
  31. eprintf_time(n, var, t, fmt, ##__VA_ARGS__)
  32. #define pr_oe_time(t, fmt, ...) pr_time_N(1, debug_ordered_events, t, pr_fmt(fmt), ##__VA_ARGS__)
  33. #define pr_oe_time2(t, fmt, ...) pr_time_N(2, debug_ordered_events, t, pr_fmt(fmt), ##__VA_ARGS__)
  34. #define STRERR_BUFSIZE 128 /* For the buffer size of strerror_r */
  35. int dump_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
  36. void trace_event(union perf_event *event);
  37. int ui__error(const char *format, ...) __attribute__((format(printf, 1, 2)));
  38. int ui__warning(const char *format, ...) __attribute__((format(printf, 1, 2)));
  39. void pr_stat(const char *fmt, ...);
  40. int eprintf(int level, int var, const char *fmt, ...) __attribute__((format(printf, 3, 4)));
  41. int eprintf_time(int level, int var, u64 t, const char *fmt, ...) __attribute__((format(printf, 4, 5)));
  42. int veprintf(int level, int var, const char *fmt, va_list args);
  43. int perf_debug_option(const char *str);
  44. #endif /* __PERF_DEBUG_H */