docs: def metric(self, measurement_name, values, tags=None, timestamp=None):
          """
          Append global tags configured for the client to the tags given then
          converts the data into InfluxDB Line protocol and sends to to socket
          """
          if not measurement_name or values in (None, {}):
              # Don't try to send empty data
              return
  
          tags = tags or {}
  
          # Do a shallow merge of the metric tags and global tags
          all_tags = dict(self.tags, **tags)
  
          # Create a metric line from the input and then send it to socket
          line = Line(measurement_name, values, all_tags, timestamp)
          self.send(line.to_line_protocol())