X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=usertools%2Fdpdk-telemetry-client.py;h=60fe97af79a86c211da99e80a5d3f62acb5ae7ea;hb=6b1172d4dc603bdf3a5a5a906deffb6e0853441c;hp=6dcf62bac2e6667c4dc63c28945d138afb7ceefa;hpb=d1b94da4a4e03e1f90a1980fecca9d430d54221e;p=dpdk.git diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py old mode 100644 new mode 100755 index 6dcf62bac2..60fe97af79 --- a/usertools/dpdk-telemetry-client.py +++ b/usertools/dpdk-telemetry-client.py @@ -1,3 +1,4 @@ +#! /usr/bin/env python # SPDK-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation @@ -11,8 +12,14 @@ BUFFER_SIZE = 200000 METRICS_REQ = "{\"action\":0,\"command\":\"ports_all_stat_values\",\"data\":null}" API_REG = "{\"action\":1,\"command\":\"clients\",\"data\":{\"client_path\":\"" API_UNREG = "{\"action\":2,\"command\":\"clients\",\"data\":{\"client_path\":\"" +GLOBAL_METRICS_REQ = "{\"action\":0,\"command\":\"global_stat_values\",\"data\":null}" DEFAULT_FP = "/var/run/dpdk/default_client" +try: + raw_input # Python 2 +except NameError: + raw_input = input # Python 3 + class Socket: def __init__(self): @@ -71,22 +78,28 @@ class Client: 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:") - n_requests = int(input("\n:")) + n_requests = int(raw_input("\n:")) print("\033[F") #Removes the user input from screen, cleans it up print("\033[K") for i in range(n_requests): self.requestMetrics() 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) + def interactiveMenu(self, sleep_time): # Creates Interactive menu within the script - while self.choice != 3: + while self.choice != 4: print("\nOptions Menu") print("[1] Send for Metrics for all ports") print("[2] Send for Metrics for all ports recursively") - print("[3] Unregister client") + print("[3] Send for global Metrics") + print("[4] Unregister client") try: - self.choice = int(input("\n:")) + self.choice = int(raw_input("\n:")) print("\033[F") #Removes the user input for screen, cleans it up print("\033[K") if self.choice == 1: @@ -94,6 +107,8 @@ class Client: elif self.choice == 2: self.repeatedlyRequestMetrics(sleep_time) elif self.choice == 3: + self.requestGlobalMetrics() + elif self.choice == 4: self.unregister() self.unregistered = 1 else: