in lib/elastic_apm/metrics/set.rb [59:86]
def metric(kls, key, tags: nil, **args)
if @config.disable_metrics.any? { |p| p.match? key }
return NOOP
end
key = key_with_tags(key, tags)
return metrics[key] if metrics[key]
@lock.synchronize do
return metrics[key] if metrics[key]
metrics[key] =
if metrics.length < DISTINCT_LABEL_LIMIT
kls.new(key, tags: tags, **args)
else
unless @label_limit_logged
warn(
'The limit of %d metricsets has been reached, no new ' \
'metricsets will be created.', DISTINCT_LABEL_LIMIT
)
@label_limit_logged = true
end
NOOP
end
end
end