summaryrefslogtreecommitdiff
path: root/usertools
diff options
context:
space:
mode:
authorReshma Pattan <reshma.pattan@intel.com>2019-06-18 14:49:17 +0100
committerThomas Monjalon <thomas@monjalon.net>2019-06-24 16:51:28 +0200
commit4080e46c807801435e6a86a0a6c38f3797984f4c (patch)
tree0c439d239db1986830c90e6621e1d01b1a0c54bc /usertools
parentd905cd1258acd7ebd91d2b2bacdc4223d92030bd (diff)
downloaddpdk-4080e46c807801435e6a86a0a6c38f3797984f4c.zip
dpdk-4080e46c807801435e6a86a0a6c38f3797984f4c.tar.gz
dpdk-4080e46c807801435e6a86a0a6c38f3797984f4c.tar.xz
telemetry: support global metrics
telemetry has support for fetching port based stats from metrics library. Metrics library also has global stats which are not fetched by telemetry, so extend telemetry to fetch the global metrics. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: Kevin Laatz <kevin.laatz@intel.com>
Diffstat (limited to 'usertools')
-rwxr-xr-xusertools/dpdk-telemetry-client.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py
index ce0c7a9..572ff56 100755
--- a/usertools/dpdk-telemetry-client.py
+++ b/usertools/dpdk-telemetry-client.py
@@ -12,6 +12,7 @@ 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"
class Socket:
@@ -79,12 +80,18 @@ class Client:
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:"))
@@ -95,6 +102,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: