'Records value corresponding to the given event metric.
Args:
varname: Metric name.
value: Value to be recorded.
fields: Values for this metric\'s fields. For example, if metric
was registered with fields like
[("flow_type", int), ("user_type", int)], then for that metric
fields argument may look like: fields=[10, 12]. Should be None
if the metric was registered without any fields.'

@utils.Synchronized
def RecordEvent(self, varname, value, fields=None):

    self._metrics[varname].Record(value, fields)
