summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/hist.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/hist.h')
-rw-r--r--tools/perf/util/hist.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
new file mode 100644
index 000000000000..16f360cce5bf
--- /dev/null
+++ b/tools/perf/util/hist.h
@@ -0,0 +1,29 @@
+#ifndef __PERF_HIST_H
+#define __PERF_HIST_H
+
+#include <linux/types.h>
+#include "callchain.h"
+
+extern struct callchain_param callchain_param;
+
+struct perf_session;
+struct hist_entry;
+struct addr_location;
+struct symbol;
+struct rb_root;
+
+struct hist_entry *__perf_session__add_hist_entry(struct rb_root *hists,
+ struct addr_location *al,
+ struct symbol *parent,
+ u64 count, bool *hit);
+extern int64_t hist_entry__cmp(struct hist_entry *, struct hist_entry *);
+extern int64_t hist_entry__collapse(struct hist_entry *, struct hist_entry *);
+void hist_entry__free(struct hist_entry *);
+
+void perf_session__output_resort(struct rb_root *hists, u64 total_samples);
+void perf_session__collapse_resort(struct rb_root *hists);
+size_t perf_session__fprintf_hists(struct rb_root *hists,
+ struct perf_session *pair,
+ bool show_displacement, FILE *fp,
+ u64 session_total);
+#endif /* __PERF_HIST_H */