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