blob: e5f99b24048b4574e410f9ee8621e0a1638545ac [file] [log] [blame]
John Kacur3d1d07e2009-09-28 15:32:55 +02001#ifndef __PERF_HIST_H
2#define __PERF_HIST_H
John Kacur3d1d07e2009-09-28 15:32:55 +02003
Arnaldo Carvalho de Melo4e4f06e2009-12-14 13:10:39 -02004#include <linux/types.h>
John Kacur3d1d07e2009-09-28 15:32:55 +02005#include "callchain.h"
John Kacur3d1d07e2009-09-28 15:32:55 +02006
John Kacur3d1d07e2009-09-28 15:32:55 +02007extern struct callchain_param callchain_param;
John Kacur3d1d07e2009-09-28 15:32:55 +02008
Arnaldo Carvalho de Melo4e4f06e2009-12-14 13:10:39 -02009struct perf_session;
10struct hist_entry;
11struct addr_location;
12struct symbol;
13
14struct hist_entry *__perf_session__add_hist_entry(struct perf_session *self,
15 struct addr_location *al,
16 struct symbol *parent,
17 u64 count, bool *hit);
John Kacur3d1d07e2009-09-28 15:32:55 +020018extern int64_t hist_entry__cmp(struct hist_entry *, struct hist_entry *);
19extern int64_t hist_entry__collapse(struct hist_entry *, struct hist_entry *);
Arnaldo Carvalho de Melo4e4f06e2009-12-14 13:10:39 -020020void hist_entry__free(struct hist_entry *);
21
22void perf_session__output_resort(struct perf_session *self, u64 total_samples);
23void perf_session__collapse_resort(struct perf_session *self);
Arnaldo Carvalho de Meloc351c282009-12-16 13:49:27 -020024size_t perf_session__fprintf_hists(struct perf_session *self,
25 struct perf_session *pair,
26 bool show_displacement, FILE *fp);
John Kacur3d1d07e2009-09-28 15:32:55 +020027#endif /* __PERF_HIST_H */