'Registers metric that records distribution of values.
Args:
varname: Metric name.
bins: Bins used to store distribution information. For example,
[0, 0.1, 0.2] will create 4 bins: -Infinity..0, 0..0.1, 0.1..0.2,
0.2..+Infinity.
fields: Metric dimensions. For example, "renderer_latency" metric may
have "renderer_name" dimension. Fields are provided as list of
tuples, like: [("renderer_name", string)].
docstring: Metric description.
units: Metric units (see stats.MetricUnits for details).
If metric with the same name was registered before, it will be overwritten.'

@utils.Synchronized
def RegisterEventMetric(self, varname, bins=None, fields=None, docstring=None, units=None):

    self._metrics[varname] = _EventMetric(bins, fields, docstring, units)
    self._metrics_metadata[varname] = MetricMetadata(varname=varname, metric_type=MetricMetadata.MetricType.EVENT, value_type=MetricMetadata.ValueType.DISTRIBUTION, fields_defs=self.FieldsToFieldsDefinitions(fields), docstring=docstring, units=units)
