0b8026e8fb
There we need just some struct forward declarations, do that instead and add the includes needed by metricgroup.c. That should help with needless rebuilds when changing the removed headers from metricgroup.h. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lkml.kernel.org/n/tip-1fkskjws6imir2hhztqhdyb0@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
37 lines
832 B
C
37 lines
832 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
#ifndef METRICGROUP_H
|
|
#define METRICGROUP_H 1
|
|
|
|
#include <linux/list.h>
|
|
#include <linux/rbtree.h>
|
|
#include <stdbool.h>
|
|
|
|
struct evsel;
|
|
struct option;
|
|
struct rblist;
|
|
|
|
struct metric_event {
|
|
struct rb_node nd;
|
|
struct evsel *evsel;
|
|
struct list_head head; /* list of metric_expr */
|
|
};
|
|
|
|
struct metric_expr {
|
|
struct list_head nd;
|
|
const char *metric_expr;
|
|
const char *metric_name;
|
|
struct evsel **metric_events;
|
|
};
|
|
|
|
struct metric_event *metricgroup__lookup(struct rblist *metric_events,
|
|
struct evsel *evsel,
|
|
bool create);
|
|
int metricgroup__parse_groups(const struct option *opt,
|
|
const char *str,
|
|
struct rblist *metric_events);
|
|
|
|
void metricgroup__print(bool metrics, bool groups, char *filter,
|
|
bool raw, bool details);
|
|
bool metricgroup__has_metric(const char *metric);
|
|
#endif
|