xref: /linux/tools/perf/util/trace.h (revision 0939bd2fcf337243133b0271335a2838857c319f)
11bec43f5SNamhyung Kim /* SPDX-License-Identifier: GPL-2.0 */
21bec43f5SNamhyung Kim #ifndef UTIL_TRACE_H
31bec43f5SNamhyung Kim #define UTIL_TRACE_H
41bec43f5SNamhyung Kim 
51bec43f5SNamhyung Kim #include <stdio.h>  /* for FILE */
61bec43f5SNamhyung Kim 
71bec43f5SNamhyung Kim enum trace_summary_mode {
81bec43f5SNamhyung Kim 	SUMMARY__NONE = 0,
91bec43f5SNamhyung Kim 	SUMMARY__BY_TOTAL,
101bec43f5SNamhyung Kim 	SUMMARY__BY_THREAD,
11*ef60b8f5SNamhyung Kim 	SUMMARY__BY_CGROUP,
121bec43f5SNamhyung Kim };
131bec43f5SNamhyung Kim 
141bec43f5SNamhyung Kim #ifdef HAVE_BPF_SKEL
151bec43f5SNamhyung Kim 
161bec43f5SNamhyung Kim int trace_prepare_bpf_summary(enum trace_summary_mode mode);
171bec43f5SNamhyung Kim void trace_start_bpf_summary(void);
181bec43f5SNamhyung Kim void trace_end_bpf_summary(void);
191bec43f5SNamhyung Kim int trace_print_bpf_summary(FILE *fp);
201bec43f5SNamhyung Kim void trace_cleanup_bpf_summary(void);
211bec43f5SNamhyung Kim 
221bec43f5SNamhyung Kim #else /* !HAVE_BPF_SKEL */
231bec43f5SNamhyung Kim 
241bec43f5SNamhyung Kim static inline int trace_prepare_bpf_summary(enum trace_summary_mode mode __maybe_unused)
251bec43f5SNamhyung Kim {
261bec43f5SNamhyung Kim 	return -1;
271bec43f5SNamhyung Kim }
281bec43f5SNamhyung Kim static inline void trace_start_bpf_summary(void) {}
291bec43f5SNamhyung Kim static inline void trace_end_bpf_summary(void) {}
301bec43f5SNamhyung Kim static inline int trace_print_bpf_summary(FILE *fp __maybe_unused)
311bec43f5SNamhyung Kim {
321bec43f5SNamhyung Kim 	return 0;
331bec43f5SNamhyung Kim }
341bec43f5SNamhyung Kim static inline void trace_cleanup_bpf_summary(void) {}
351bec43f5SNamhyung Kim 
361bec43f5SNamhyung Kim #endif /* HAVE_BPF_SKEL */
371bec43f5SNamhyung Kim 
381bec43f5SNamhyung Kim #endif /* UTIL_TRACE_H */
39