> > +bool metricgroup__has_metric(const char *metric)
> > +{
> > +   struct pmu_events_map *map = perf_pmu__find_map(NULL);
> > +   struct pmu_event *pe;
> > +   int i;
> > +
> > +   if (!map)
> > +           return false;
> > +
> > +   for (i = 0; ; i++) {
> > +           pe = &map->table[i];
> > +
> > +           if (!pe->name && !pe->metric_group && !pe->metric_name)
> > +                   break;
> > +           if (!pe->metric_expr)
> > +                   continue;
> > +           if (match_metric(pe->metric_group, metric) ||
> > +               match_metric(pe->metric_name, metric))

Why both the group and the metric?

I would just match the metric_name

Otherwise it's impossible to have a group called "transaction"

With that fixed it's ok for me.

Acked-by: Andi Kleen <a...@linux.intel.com>

-Andi

Reply via email to