]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - tools/perf/util/debug.h
perf tools: Add new 'perf data' command
[mirror_ubuntu-artful-kernel.git] / tools / perf / util / debug.h
CommitLineData
cd84c2ac 1/* For debugging general purposes */
8b40f521
JK
2#ifndef __PERF_DEBUG_H
3#define __PERF_DEBUG_H
cd84c2ac 4
c0555642 5#include <stdbool.h>
b2348e1d 6#include <string.h>
8f41146a 7#include "event.h"
0985a948 8#include "../ui/helpline.h"
75291420
NK
9#include "../ui/progress.h"
10#include "../ui/util.h"
8f41146a 11
cd84c2ac 12extern int verbose;
b44308f5 13extern bool quiet, dump_trace;
cee3ab9c 14extern int debug_ordered_events;
cd84c2ac 15
84f5d36f
JO
16#ifndef pr_fmt
17#define pr_fmt(fmt) fmt
18#endif
19
20#define pr_err(fmt, ...) \
c95688aa 21 eprintf(0, verbose, pr_fmt(fmt), ##__VA_ARGS__)
84f5d36f 22#define pr_warning(fmt, ...) \
c95688aa 23 eprintf(0, verbose, pr_fmt(fmt), ##__VA_ARGS__)
84f5d36f 24#define pr_info(fmt, ...) \
c95688aa 25 eprintf(0, verbose, pr_fmt(fmt), ##__VA_ARGS__)
84f5d36f 26#define pr_debug(fmt, ...) \
c95688aa 27 eprintf(1, verbose, pr_fmt(fmt), ##__VA_ARGS__)
84f5d36f 28#define pr_debugN(n, fmt, ...) \
c95688aa 29 eprintf(n, verbose, pr_fmt(fmt), ##__VA_ARGS__)
84f5d36f
JO
30#define pr_debug2(fmt, ...) pr_debugN(2, pr_fmt(fmt), ##__VA_ARGS__)
31#define pr_debug3(fmt, ...) pr_debugN(3, pr_fmt(fmt), ##__VA_ARGS__)
32#define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__)
33
cee3ab9c
JO
34#define pr_time_N(n, var, t, fmt, ...) \
35 eprintf_time(n, var, t, fmt, ##__VA_ARGS__)
36
37#define pr_oe_time(t, fmt, ...) pr_time_N(1, debug_ordered_events, t, pr_fmt(fmt), ##__VA_ARGS__)
38#define pr_oe_time2(t, fmt, ...) pr_time_N(2, debug_ordered_events, t, pr_fmt(fmt), ##__VA_ARGS__)
39
b2348e1d
MH
40#define STRERR_BUFSIZE 128 /* For the buffer size of strerror_r */
41
2cec19d9 42int dump_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
8115d60c 43void trace_event(union perf_event *event);
567e5479 44
f9f526ec 45int ui__error(const char *format, ...) __attribute__((format(printf, 1, 2)));
4610e413 46int ui__warning(const char *format, ...) __attribute__((format(printf, 1, 2)));
068ffaa8 47
f772abc6
JO
48void pr_stat(const char *fmt, ...);
49
c95688aa 50int eprintf(int level, int var, const char *fmt, ...) __attribute__((format(printf, 3, 4)));
cee3ab9c 51int eprintf_time(int level, int var, u64 t, const char *fmt, ...) __attribute__((format(printf, 4, 5)));
84f5d36f 52
bbb2cea7
JO
53int perf_debug_option(const char *str);
54
8b40f521 55#endif /* __PERF_DEBUG_H */