1 #ifndef METRICGROUP_H 2 #define METRICGROUP_H 1 3 4 #include "linux/list.h" 5 #include "rblist.h" 6 #include <subcmd/parse-options.h> 7 #include "evlist.h" 8 #include "strbuf.h" 9 10 struct metric_event { 11 struct rb_node nd; 12 struct perf_evsel *evsel; 13 struct list_head head; /* list of metric_expr */ 14 }; 15 16 struct metric_expr { 17 struct list_head nd; 18 const char *metric_expr; 19 const char *metric_name; 20 struct perf_evsel **metric_events; 21 }; 22 23 struct metric_event *metricgroup__lookup(struct rblist *metric_events, 24 struct perf_evsel *evsel, 25 bool create); 26 int metricgroup__parse_groups(const struct option *opt, 27 const char *str, 28 struct rblist *metric_events); 29 30 void metricgroup__print(bool metrics, bool groups, char *filter, bool raw); 31 bool metricgroup__has_metric(const char *metric); 32 #endif 33