0001
0002 #ifndef __PERF_STREAM_H
0003 #define __PERF_STREAM_H
0004
0005 #include "callchain.h"
0006
0007 struct stream {
0008 struct callchain_node *cnode;
0009 struct callchain_node *pair_cnode;
0010 };
0011
0012 struct evsel_streams {
0013 struct stream *streams;
0014 int nr_streams_max;
0015 int nr_streams;
0016 int evsel_idx;
0017 u64 streams_hits;
0018 };
0019
0020 struct evlist_streams {
0021 struct evsel_streams *ev_streams;
0022 int nr_evsel;
0023 };
0024
0025 struct evlist;
0026
0027 void evlist_streams__delete(struct evlist_streams *els);
0028
0029 struct evlist_streams *evlist__create_streams(struct evlist *evlist,
0030 int nr_streams_max);
0031
0032 struct evsel_streams *evsel_streams__entry(struct evlist_streams *els,
0033 int evsel_idx);
0034
0035 void evsel_streams__match(struct evsel_streams *es_base,
0036 struct evsel_streams *es_pair);
0037
0038 void evsel_streams__report(struct evsel_streams *es_base,
0039 struct evsel_streams *es_pair);
0040
0041 #endif