DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] usertools: add telemetry python3 compatibility
@ 2020-01-16 17:24 Ciara Power
  2020-01-19 21:48 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
  2020-01-21 17:03 ` [dpdk-dev] [PATCH v2] usertools: fix " Ciara Power
  0 siblings, 2 replies; 6+ messages in thread
From: Ciara Power @ 2020-01-16 17:24 UTC (permalink / raw)
  To: kevin.laatz; +Cc: dev, Ciara Power, stable

The client script for use with the telemetry library did not support
python3, as the data being sent over the socket was in string format.
Python3 requires the data be explicitly converted to bytes before being
sent.  Similarily, the received bytes need to be decoded into string
format.

Cc: stable@dpdk.org

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 usertools/dpdk-telemetry-client.py | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py
index 290345dcc..71a8a8852 100755
--- a/usertools/dpdk-telemetry-client.py
+++ b/usertools/dpdk-telemetry-client.py
@@ -65,18 +65,19 @@ def register(self): # Connects a client to DPDK-instance
         self.socket.recv_fd.settimeout(2)
         self.socket.send_fd.connect("/var/run/dpdk/rte/telemetry")
         JSON = (API_REG + self.file_path + "\"}}")
-        self.socket.send_fd.sendall(JSON)
+        self.socket.send_fd.sendall(JSON.encode())
+
         self.socket.recv_fd.listen(1)
         self.socket.client_fd = self.socket.recv_fd.accept()[0]
 
     def unregister(self): # Unregister a given client
-        self.socket.client_fd.send(API_UNREG + self.file_path + "\"}}")
+        self.socket.client_fd.send((API_UNREG + self.file_path + "\"}}").encode())
         self.socket.client_fd.close()
 
     def requestMetrics(self): # Requests metrics for given client
-        self.socket.client_fd.send(METRICS_REQ)
-        data = self.socket.client_fd.recv(BUFFER_SIZE)
-        print("\nResponse: \n", str(data))
+        self.socket.client_fd.send(METRICS_REQ.encode())
+        data = self.socket.client_fd.recv(BUFFER_SIZE).decode()
+        print("\nResponse: \n", data)
 
     def repeatedlyRequestMetrics(self, sleep_time): # Recursively requests metrics for given client
         print("\nPlease enter the number of times you'd like to continuously request Metrics:")
@@ -88,9 +89,9 @@ def repeatedlyRequestMetrics(self, sleep_time): # Recursively requests metrics f
             time.sleep(sleep_time)
 
     def requestGlobalMetrics(self): #Requests global metrics for given client
-        self.socket.client_fd.send(GLOBAL_METRICS_REQ)
-        data = self.socket.client_fd.recv(BUFFER_SIZE)
-        print("\nResponse: \n", str(data))
+        self.socket.client_fd.send(GLOBAL_METRICS_REQ.encode())
+        data = self.socket.client_fd.recv(BUFFER_SIZE).decode()
+        print("\nResponse: \n", data)
 
     def interactiveMenu(self, sleep_time): # Creates Interactive menu within the script
         while self.choice != 4:
-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-02-16 21:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-16 17:24 [dpdk-dev] [PATCH] usertools: add telemetry python3 compatibility Ciara Power
2020-01-19 21:48 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2020-01-20  8:47   ` Robin Jarry
2020-01-21 17:03 ` [dpdk-dev] [PATCH v2] usertools: fix " Ciara Power
2020-01-24 10:11   ` Laatz, Kevin
2020-02-16 21:25     ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).