<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_gauge(self, gauge):
 """Add `gauge` to the registry. Raises a `ValueError` if another gauge with the same name already exists in the registry. :type gauge: class:`LongGauge`, class:`DoubleGauge`, :class:`opencensus.metrics.export.cumulative.LongCumulative`, :class:`opencensus.metrics.export.cumulative.DoubleCumulative`, :class:`DerivedLongGauge`, :class:`DerivedDoubleGauge` :class:`opencensus.metrics.export.cumulative.DerivedLongCumulative`, or :class:`opencensus.metrics.export.cumulative.DerivedDoubleCumulative` :param gauge: The gauge to add to the registry. """

        if gauge is None:
            raise ValueError
        name = gauge.descriptor.name
        with self._gauges_lock:
            if name in self.gauges:
                raise ValueError(
                    'Another gauge named "{}" is already registered'
                    .format(name))
            self.gauges[name] = gauge