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

source code of linux/tools/perf/util/stream.h