def update_metric_by_name(self, metric_name, metric_type, description=None,<EOL>custom_properties=None, tags=None, **kwargs):
data = {'<STR_LIT:type>': metric_type.upper(),<EOL>'<STR_LIT:description>': description or '<STR_LIT>',<EOL>'<STR_LIT>': custom_properties or {},<EOL>'<STR_LIT>': tags or []}<EOL>resp = self._put(self._u(self._METRIC_ENDPOINT_SUFFIX,<EOL>str(metric_name)),<EOL>data=data, **kwargs)<EOL>resp.raise_for_status()<EOL>return resp.json()<EOL>
Create or update a metric object

Args:
    metric_name (string): name of metric
    type (string): metric type, must be one of 'gauge', 'counter',
                    'cumulative_counter'
    description (optional[string]): a description
    custom_properties (optional[dict]): dictionary of custom properties
    tags (optional[list of strings]): list of tags associated with
        metric