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