hist.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef __PERF_HIST_H
  2. #define __PERF_HIST_H
  3. #include <linux/types.h>
  4. #include "callchain.h"
  5. extern struct callchain_param callchain_param;
  6. struct hist_entry;
  7. struct addr_location;
  8. struct symbol;
  9. struct rb_root;
  10. struct events_stats {
  11. u64 total;
  12. u64 lost;
  13. };
  14. struct hists {
  15. struct rb_node rb_node;
  16. struct rb_root entries;
  17. u64 nr_entries;
  18. struct events_stats stats;
  19. u64 config;
  20. u64 event_stream;
  21. u32 type;
  22. u32 max_sym_namelen;
  23. };
  24. struct hist_entry *__hists__add_entry(struct hists *self,
  25. struct addr_location *al,
  26. struct symbol *parent, u64 count);
  27. extern int64_t hist_entry__cmp(struct hist_entry *, struct hist_entry *);
  28. extern int64_t hist_entry__collapse(struct hist_entry *, struct hist_entry *);
  29. int hist_entry__fprintf(struct hist_entry *self, struct hists *pair_hists,
  30. bool show_displacement, long displacement, FILE *fp,
  31. u64 total);
  32. int hist_entry__snprintf(struct hist_entry *self, char *bf, size_t size,
  33. struct hists *pair_hists, bool show_displacement,
  34. long displacement, bool color, u64 total);
  35. void hist_entry__free(struct hist_entry *);
  36. void hists__output_resort(struct hists *self);
  37. void hists__collapse_resort(struct hists *self);
  38. size_t hists__fprintf(struct hists *self, struct hists *pair,
  39. bool show_displacement, FILE *fp);
  40. #endif /* __PERF_HIST_H */