stream.h 906 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __PERF_STREAM_H
  3. #define __PERF_STREAM_H
  4. #include "callchain.h"
  5. struct stream {
  6. struct callchain_node *cnode;
  7. struct callchain_node *pair_cnode;
  8. };
  9. struct evsel_streams {
  10. struct stream *streams;
  11. int nr_streams_max;
  12. int nr_streams;
  13. int evsel_idx;
  14. u64 streams_hits;
  15. };
  16. struct evlist_streams {
  17. struct evsel_streams *ev_streams;
  18. int nr_evsel;
  19. };
  20. struct evlist;
  21. void evlist_streams__delete(struct evlist_streams *els);
  22. struct evlist_streams *evlist__create_streams(struct evlist *evlist,
  23. int nr_streams_max);
  24. struct evsel_streams *evsel_streams__entry(struct evlist_streams *els,
  25. int evsel_idx);
  26. void evsel_streams__match(struct evsel_streams *es_base,
  27. struct evsel_streams *es_pair);
  28. void evsel_streams__report(struct evsel_streams *es_base,
  29. struct evsel_streams *es_pair);
  30. #endif /* __PERF_STREAM_H */