changeset 19:ddccb0f61879

Thermostat based jps utility review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-September/024998.html reviewed-by: jerboaa, stooke
author Mario Torre <neugens.limasoftware@gmail.com>
date Thu, 14 Sep 2017 12:08:10 +0200
parents 5100a9b678f4
children 2e6d2b6f31ef
files utils/tjps.py
diffstat 1 files changed, 31 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/utils/tjps.py	Thu Sep 14 12:08:10 2017 +0200
@@ -0,0 +1,31 @@
+#!/bin/python
+import json
+import subprocess
+
+DEFAULT_CREDENTIALS="client:client-pwd"
+DEFAULT_URL="https://127.0.0.1:30000/jvms/0.0.1/tree?aliveOnly=true&include=jvmId%2Cagentid%2CsystemId%2CjvmPid&limit=0"
+
+if __name__ == "__main__":
+    url = DEFAULT_URL
+    s = subprocess.check_output(["curl", "-s", "-u", DEFAULT_CREDENTIALS, url, "-H", "\"accept: application/json\"",
+                                 "-H", "\"content-type: application/json\"", "--insecure"])
+
+    systems = {}
+    data = json.loads(s)
+    for jvm in data['response'][0]['jvms']:
+        sid = jvm['systemId']
+        id = jvm['jvmId']
+        pid = jvm['jvmPid']
+        jvms = {}
+        if systems.has_key(sid):
+            jvms = systems[sid]
+        else:
+            systems[sid] = jvms
+
+        jvms[id] = ([id, sid, pid])
+
+    print ("pid\tvmId                                    systemId").expandtabs(10)
+    for sid in systems:
+        vm = systems[sid]
+        for vid in vm:
+            print ("%s\t%s\t%s" % (vm[vid][2], vm[vid][0],vm[vid][1])).expandtabs(10)