0

I am trying to send results from locust to graphite by using following

def __init__(self):
    super(MyLocust, self).__init__()
    self.sock = socket.socket()
    self.sock.connect( ("localhost", 2003) )
    locust.events.request_success += self.hook_request_success 

def hook_request_success(self, request_type, name, response_time, response_length):
    self.sock.sendall('%s %d %d\n'% ("performance." + name.replace('.', '-'), response_time,  time.time())) def

def exit_handler(self):
    self.sock.shutdown(socket.SHUT_RDWR)
    self.sock.close()

I am getting the following error TypeError: a bytes-like object is required, not 'str'

Cyberwiz
  • 11,027
  • 3
  • 20
  • 40
Tester
  • 53
  • 2
  • 7

1 Answers1

0

sock.sendall() expects a bytes-like object.

Encode the string before passing it to sendall, changing the line to something like

self.sock.sendall(('%s %d %d\n'% ("performance." + name.replace('.', '-'), response_time, time.time())).encode())
Cyberwiz
  • 11,027
  • 3
  • 20
  • 40