<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_metric(self, metric_name, measurable, config=None):
 """ Add a metric to monitor an object that implements measurable. This metric won't be associated with any sensor. This is a way to expose existing values as metrics. Arguments: metricName (MetricName):
 The name of the metric measurable (AbstractMeasurable):
 The measurable that will be measured by this metric config (MetricConfig, optional):
 The configuration to use when measuring this measurable """

        # NOTE there was a lock here, but i don't think it's needed
        metric = KafkaMetric(metric_name, measurable, config or self.config)
        self.register_metric(metric)