def _get_metric_keys(self, name):
metric_cls, metric_dict = self.metrics_dict[name]
prefixes = metric_dict.get('prefixes', [])
kwargs = metric_dict.get('kwargs', {})
always_active = kwargs.get('always_active', False)
parts = [[name]]
for prefix in prefixes:
prefix = getattr(self, prefix)
if prefix:
parts.append(prefix)
# Check to make sure all specified metrics are present for metrics that are always active
if always_active and len(parts) != len(prefixes) + 1:
return []
# Return the set of keys
keys = set(itertools.product(*parts))
# Add bare keys
keys.add((name,))
return keys
评论列表
文章目录