docs: def send(self, data, sample_rate=None):
          '''Send the data over UDP while taking the sample_rate in account
  
          The sample rate should be a number between `0` and `1` which indicates
          the probability that a message will be sent. The sample_rate is also
          communicated to `statsd` so it knows what multiplier to use.
  
          :keyword data: The data to send
          :type data: dict
          :keyword sample_rate: The sample rate, defaults to `1` (meaning always)
          :type sample_rate: int
          '''
          if self._disabled:
              self.logger.debug('Connection disabled, not sending data')
              return False
          if sample_rate is None:
              sample_rate = self._sample_rate
  
          sampled_data = {}
          if sample_rate < 1:
              if random.random() <= sample_rate:
                  # Modify the data so statsd knows our sample_rate
                  for stat, value in compat.iter_dict(data):
                      sampled_data[stat] = '%s|@%s' % (data[stat], sample_rate)
          else:
              sampled_data = data
  
          try:
              for stat, value in compat.iter_dict(sampled_data):
                  send_data = ('%s:%s' % (stat, value)).encode("utf-8")
                  self.udp_sock.send(send_data)
              return True
          except Exception as e:
              self.logger.exception('unexpected error %r while sending data', e)
              return False