code: def metric_update(self, project, metric_name, filter_, description):
          
          path = "projects/%s/metrics/%s" % (project, metric_name)
          metric_pb = LogMetric(name=path, filter=filter_, description=description)
          metric_pb = self._gapic_api.update_log_metric(path, metric_pb)
          # NOTE: LogMetric message type does not have an ``Any`` field
          #       so `MessageToDict`` can safely be used.
          return MessageToDict(metric_pb)
docs: API call:  update a metric resource.
  
          :type project: str
          :param project: ID of the project containing the metric.
  
          :type metric_name: str
          :param metric_name: the name of the metric
  
          :type filter_: str
          :param filter_: the advanced logs filter expression defining the
                          entries exported by the metric.
  
          :type description: str
          :param description: description of the metric.
  
          :rtype: dict
          :returns: The metric object returned from the API (converted from a
                    protobuf to a dictionary).