Ошибка при интеграции графита и саранчи - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь отправить результаты из саранчи в графит, используя следующую команду:

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()

Я получаю следующую ошибку TypeError: требуется байтоподобный объект, а не 'str'

1 Ответ

0 голосов
/ 06 февраля 2020

sock.sendall () ожидает байтовоподобный объект.

Кодируйте строку перед передачей в sendall, изменяя строку на что-то вроде

self.sock.sendall(('%s %d %d\n'% ("performance." + name.replace('.', '-'), response_time, time.time())).encode())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...