Re: [PATCH 06/10] perf tools: Collect other metrics in struct egroup

From: Jiri Olsa
Date: Sun Jun 28 2020 - 18:04:18 EST


On Fri, Jun 26, 2020 at 02:06:47PM -0700, Ian Rogers wrote:

SNIP

> > diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
> > index 85e7fa2e2707..f88fd667cc78 100644
> > --- a/tools/perf/util/metricgroup.c
> > +++ b/tools/perf/util/metricgroup.c
> > @@ -102,12 +102,20 @@ void metricgroup__rblist_exit(struct rblist *metric_events)
> > rblist__exit(metric_events);
> > }
> >
> > +struct eother {
> > + const char *metric_name;
> > + const char *metric_expr;
> > + struct list_head list;
> > +};
> > +
> > struct egroup {
> > struct list_head nd;
> > struct expr_parse_ctx pctx;
> > const char *metric_name;
> > const char *metric_expr;
> > const char *metric_unit;
> > + struct list_head other;
> > + int other_cnt;
> > int runtime;
> > bool has_constraint;
> > };
>
> Nit, could we do better than egroup and eother for struct names?
> egroup are nodes within the metric group with their associated values,
> so would metric_group_node be more intention revealing? eother and
> other are metrics referred to by the metric_group_node. Presumably the
> metrics are on the same list as egroup? Perhaps eother could be
> referenced_metrics?

ok, how about:

struct metric_group_node
struct metric_ref

jirka